2013-07-31 7 views
22

Ich möchte eine Bootstrap-CSS-Klasse auf einen Bereich mit if-Bedingung festlegen (bis zum binded-Wert). Ich habe isApproved Feld in einer Liste, ich möchte, um das Feld sehen mit ‚Label-Erfolg‘ Klasse, wenn seine aktive und ‚Label-wichtig‘ Klasse, wenn seine inaktivenVerwenden von Knockout zum Festlegen der CSS-Klasse mit einer if-Bedingung

ich diese Zeile hinzugefügt, aber die ganze Zeit seiner Mitnahmen die erste Klasse:

data-bind="text: isApproved, css: isApproved = 'true' ? 'label label-important' : 'label label-important'" 

Ist es möglich in der HTML oder ich sollte ein berechnetes Feld auf meiner VM hinzufügen?

+0

Können Sie den Code hinzufügen, mit dem Sie arbeiten? JS und HTML? Am liebsten in einem Spiel oder so. –

Antwort

35

Wenn ich Sie richtig verstanden habe, ist dies die Bindung, die Sie suchen.

Ich hoffe, es hilft.

+0

Danke, ich habe nicht auf die() mit der isApproved Eigenschaft geachtet – Wasim

27

Sie können uns auch einen ternären Operator. Zum Beispiel:

<span class="label" data-bind="text: isApproved, css: isApproved() == true ? 'label-success' : 'label-important'"></span> 
+1

Danke, ich habe nicht auf die() mit der isApproved Eigenschaft – Wasim

+0

geachtet Dies ist eine elegante Lösung. Glückwunsch. –

+0

Wichtig, diese Lösung zu verwenden: in meinem Fall ist die 'isApproved()' Funktion teuer und sollte nicht mehr als unbedingt notwendig ausgewertet werden – bkwdesign

Verwandte Themen