所以我使用jQuery来复制一些表单复选框,并且我正在执行以下操作:
$('.sexyCheckBox').on("click", function(e) {
var clickedInput = $(this).parent().find("input");
clickedInput.prop("checked", !clickedInput.prop("checked"));
}
但是,似乎即使表单中的复选框确实被切换,表单的.change()
事件也没有被调用。
这是jQuery中的错误还是我错过了什么?
答案 0 :(得分:3)
输入值的编程更改不会触发更改事件,您需要手动触发它。仅当用户更改输入元素的值时才会触发更改事件。
clickedInput.prop("checked", !clickedInput.prop("checked")).change();
另一种写这个的方法是
clickedInput.prop("checked", function (i, val) {
return !val;
}).change();//or .trigger('change')