2012-05-23 7 views
43

Próbuję uzyskać funkcję do wykonania, gdy pole wyboru jest zaznaczone lub odznaczone, aby sprawdzić, czy wszystkie pola wyboru są odznaczone, ale nigdy nie zostanie wykonane. Zakładam, że nie robię tego poprawnie.knockout.js i posłuchaj sprawdzania zdarzenia w polu wyboru

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

zdecydowanie za mało informacji dla każdego aby dać ci dobrą odpowiedź, bez prostego odgadywania. –

+0

Nie wiem, czy to literówka, ale powinna być związana z danymi nie z podkreśleniem. – kenny

+3

Musi być wystarczająco dużo informacji, dostałem odpowiedź. –

Odpowiedz

126

można dodawać zarówno checked i click wiążący do wejścia. Jednakże, z poziomu obsługi kliknięcia, chciałbyś return true;. Umożliwi to wykonanie domyślnej akcji (pole wyboru zostanie zaznaczone/odznaczone).

Oto przykład: http://jsfiddle.net/rniemeyer/cnkVA/

Alternatywną techniką jest pchnąć tę logikę do swojego widoku modelu i zapisać się do zmian na wartość logiczną obserwowalne i wykonywać swoje działania jak: http://jsfiddle.net/rniemeyer/cnkVA/2/

+1

Dziękuję również, że nie poprawiłem kontekstu, powinno to być $ parents [1]. –

+10

Dzięki za wskazówkę "Zwróć true z obsługi kliknięcia"! –

+1

Druga droga (subskrybuj do obserwowalnego) działała lepiej dla mnie. Dzięki. – bob

Powiązane problemy