Verwenden Sie die Twitter-Bootstrap-Schaltflächengruppe als Radioauswahl mit Knockout-Bindungen

8

Das funktioniert:

view.html

%Vor%

controller.js

%Vor%

Wie erwartet, ändert sich beim Auswählen des zweiten Funkgeräts der Wert der Prioritätsbeobachtungsfunktion auf "Bedarf". Ich möchte jedoch eine Twitter-Bootstrap-Schaltflächengruppe als Radio verwenden. Hier ist der HTML-Code, den ich habe, aber das Observable ändert sich nicht wie erwartet:

%Vor%

update Ich habe ein Problem damit: Ссылка "priority1" ist das Standard-Radio wählt und "priority2" sind die Bootstrap-Buttons.

    
Scott Beeson 03.04.2013, 14:43
quelle

2 Antworten

9

Das Problem ist, dass Sie die Checked -Bindung mit der Schaltfläche verwenden, die nicht zulässig ist, stattdessen können Sie die Klickbindung verwenden. Überprüfe diese Geige:

Ссылка

Aktualisiert:

Ja, Sie können dies erreichen, indem Sie ko css binding verwenden. Überprüfen Sie diese aktualisierte Geige:

Updated Fiddle

    
gaurav 03.04.2013, 16:13
quelle
6

Die überprüfte Bindung funktioniert nur mit "überprüfbaren" Steuerelementen wie dem Kontrollkästchen ( <input type='checkbox'> ) oder einem Optionsfeld (%Code%).

Aber Sie haben <input type='radio'> in Ihrem zweiten Beispiel, wo Bootstrap nur das Aussehen der Optionsfeldgruppe emuliert, so dass die Bindung button nicht funktioniert.

Sie können jedoch die checked -Bindung verwenden, in der Sie den Wert an Ihre Observable übergeben:

%Vor%

Und Sie können dies hinter einer benutzerdefinierten Bindung ausblenden:

%Vor%

Dann können Sie es wie folgt verwenden:

%Vor%

Demo JSFiddle.

    
nemesv 03.04.2013 16:12
quelle