我觉得很奇怪,该.on()
函数在 ajax 加载时只触发一次/两次事件。
这是一个示例代码:
$(document).on('click', '.cbxCheckAll', function(e) {
alert(this.checked);
$(this).parents('table').find('input.cbxDelete:checkbox').attr('checked', this.checked);
});
场景:所以基本上,我有一个包含用户列表的下拉列表。在下拉列表中选择用户后,它会立即通过 ajax 在 div 上加载所选用户的信息。然后在那个 div 上,我有多个带有“全选”选项的复选框。
单击“全选”后,它确实选择了所有复选框。再次单击,它没有选中复选框。嗯,它确实奏效了。但是当我再次点击(第三次)时,它不再起作用了。似乎它只适用于第二次点击。
您可能会注意到,我有一个alert()
显示“全选”复选框的值。每次单击它(第 3 次、第 4 次等)时似乎都会触发,但检查/取消检查部分不是。
我最近刚刚将我的 Jquery 版本更新到最新版本(1.9)。我正在使用带有该.live()
功能的版本(1.7)并将其更改为.on()
因为.live()
最新版本已被删除。
提前致谢!