2014-02-10 43 views
0

所以我使用jQuery皮膚有一定形式的複選框,並正在做類似如下:通過jQuery編程檢查輸入不調用窗體的.change()事件?

$('.sexyCheckBox').on("click", function(e) { 
    var clickedInput = $(this).parent().find("input"); 
    clickedInput.prop("checked", !clickedInput.prop("checked")); 
} 

不過,似乎,即使在形式上的複選框確實被切換,窗體的.change()事件沒有被調用。

這是jQuery中的錯誤還是我錯過了什麼?

回答

3

程序對輸入值的更改不會觸發更改事件,您需要手動觸發它。僅當用戶更改輸入元素的值時纔會觸發更改事件。

clickedInput.prop("checked", !clickedInput.prop("checked")).change(); 

另一種方式來寫,這是

clickedInput.prop("checked", function (i, val) { 
    return !val; 
}).change();//or .trigger('change') 
+0

完美!謝謝Arun! –

相關問題