2016-11-11 88 views
1

假設我只想將其中包含單詞「Blog」的行更改爲綠色或藍色。看看我在jsfiddle中的例子。有沒有辦法改變引導表的行顏色取決於其內容? :P如何根據其內容更改bootstrap-tabe行背景

查看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/ –

相關問題