2016-11-11 5 views
1

Angenommen, ich möchte nur die Zeilen ändern, die das Wort "Blog" in ihnen grün oder blau haben. Siehe das Beispiel, das ich in jfiddle habe. Gibt es eine Möglichkeit, die Zeilenfarbe einer Bootstrap-Tabelle abhängig von ihrem Inhalt zu ändern? : PWie ändert man Bootstrap-Tabe Reihe Hintergrund abhängig von seinem Inhalt

dieses Beispiel finden Sie auf 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

Siehe jsfiddle Link in der Frage für bessere Ausgabe-Ergebnis angezeigt. – NinjaShawarma

+0

Persönlich würde ich etwas wie Knockout JS verwenden und nur CSS-Bindungen verwenden, um die Farbe basierend auf den enthaltenen Daten zu ändern. Völlig dynamisch. – Korgrue

Antwort

1

Try this:

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 See.

+0

Können Sie sich das ansehen? Die Tabelle wird aus irgendeinem Grund geladen. Haben die Daten damit etwas zu tun? http://jsfiddle.net/e3nk137y/9727/ – NinjaShawarma

+0

@NinjaShawarma Einige der Werte sind Zahlen, also sollten Sie den 'Wert' in eine Zeichenkette umwandeln, siehe http://jsfiddle.net/e3nk137y/9728/ –

Verwandte Themen