2016-11-11 6 views
1

「Blog」という単語を含む行だけを緑または青に変更したいとしましょう。 jsfiddleの例を見てください。その内容に応じてブートストラップテーブルの行の色を変更する方法はありますか? :P内容に応じてブートストラップテーブルの行の背景を変更する方法

jsfiddle

function rowStyle(row, index) { 
 
    var classes = ['active', 'success', 'info', 'warning', 'danger']; 
 
    
 
    if (index % 2 === 0 && index/2 < classes.length) { 
 
     return { 
 
      classes: classes[index/2] 
 
     }; 
 
    } 
 
    return {}; 
 
}
<table data-toggle="table" 
 
     data-url="/gh/get/response.json/wenzhixin/bootstrap-table/tree/master/docs/data/data1/" 
 
     data-row-style="rowStyle"> 
 
    <thead> 
 
    <tr> 
 
     <th data-field="name">Name</th> 
 
     <th data-field="stargazers_count">Stars</th> 
 
     <th data-field="forks_count">Forks</th> 
 
     <th data-field="description">Description</th> 
 
    </tr> 
 
    </thead> 
 
</table>

+0

jsfiddleリンクを参照してください。 – NinjaShawarma

+0

個人的には、Knockout JSのようなものを使用し、CSSバインディングを使用して、含まれているデータに基づいて色を変更するだけです。完全にダイナミックです。 – Korgrue

答えて

1

にこの例を参照してくださいには、これを試してみてください:

function rowStyle(row, index) { 
    const obj = {}; 
    if (Object.keys(row).map(key => row[key]).some(value => String(value).includes('blog'))) { 
     obj.css = {'background-color': 'blue'}; 
    } 
    var classes = ['active', 'success', 'info', 'warning', 'danger']; 

    if (index % 2 === 0 && index/2 < classes.length) { 
     return Object.assign({}, obj, {classes: classes[index/2]}); 
    } 
    return obj; 
} 

updated JS Fiddleを参照してください。

+0

あなたはこれを見ることができますか?テーブルは幾分奇妙な理由のために読み込みを続けます。データには何か関係がありますか? http://jsfiddle.net/e3nk137y/9727/ – NinjaShawarma

+0

@NinjaShawarma値の一部は数値なので、 'value'を文字列にキャストする必要があります。http://jsfiddle.net/e3nk137y/9728/を参照してください。 –

関連する問題