2012-05-23 6 views
43

Ich versuche, eine Funktion auszuführen, wenn ein Kontrollkästchen aktiviert oder deaktiviert ist, um zu überprüfen, dass alle Kontrollkästchen deaktiviert sind, aber es nie ausgeführt wird. Ich nehme an, ich mache das nicht richtig.knockout.js und höre zu Check-Ereignis auf Kontrollkästchen

@Html.CheckBox("Subscription", new{ data_bind="disable: Disabled, checked: Checked, click: $parent.allSubscriptionsUnchecked"}) 
+0

Definitiv nicht genug Informationen für jedermann um dir eine gute Antwort zu geben, ohne einfach nur zu raten. –

+0

Ich weiß nicht, ob das ein Tippfehler ist, aber es sollte Datenbindung nicht mit einem Unterstrich sein. – kenny

+3

Muss genug Informationen, ich habe meine Antwort bekommen. –

Antwort

126

hinzufügen Sie können sowohl eine checked und click an einen Eingang zu binden. Sie möchten jedoch return true; aus dem Click-Handler. Dadurch kann die Standardaktion fortgesetzt werden (das Kontrollkästchen wird aktiviert/deaktiviert). Hier

ist ein Beispiel: http://jsfiddle.net/rniemeyer/cnkVA/

Eine alternative Technik ist diese Logik in Ihrer Ansicht Modell zu schieben und zu Änderungen an einem boolean beobachtbaren abonnieren und führen Sie Ihre Aktion wie: http://jsfiddle.net/rniemeyer/cnkVA/2/

+1

Danke Ich habe auch den Kontext nicht richtig gemacht, es sollte von $ eltern [1] sein. –

+10

Danke für den Tipp "Zurück vom Click-Handler"! –

+1

2. Weg (abonnieren beobachtbar) funktionierte besser für mich. Vielen Dank. – bob

Verwandte Themen