2013-02-06 47 views
2

當狀態根據其他交互進行更改/修改時,是否存在複選框更改事件。我的意思不是通過點擊文本框。是否有複選框更改狀態的事件?

我試過這段代碼:

$('input[type="checkbox"]').bind('change',function(){ 
    alert('Checkbox state is changed.'); 
}); 

...但你可以在this demo看到,如果我點擊複選框我看到一個顯示警報「複選框狀態被改變了。」由更改事件觸發的消息。但是,當使用按鈕更改複選框狀態時,不會觸發相同的操作。

我錯過了什麼?

感謝任何幫助。

回答

1

問題是您正在修改DOM中的「已選中」屬性,但未調用相同的事件處理程序。

在您的按鈕事件單擊您可以使用trigger做:

$('input[type="checkbox"]').trigger('change'); 

http://jsfiddle.net/wmVtB/7/

+1

精彩!!!有效。 –

1

不,通過JavaScript設置checked屬性不會觸發任何事件。如果您需要啓動一個,則必須自己編寫腳本或觸發事件,然後再觸發狀態更改。

+0

感謝您的快速幫助。 –

相關問題