在jquery中未激发列表复选框更改事件
List Checkbox change event not fire in jquery
列出jquery中未触发的复选框更改事件。
列表创建:
$("#my_list").append("<li><input type='checkbox' class='my_list_checkbox' value='"+id+"' name='"+name+"'/><img class='""+icon_class+"'" /><label style='padding-left:25px'>"+name+"</label></li>");
我尝试了以下事件,但没有人工作,如何解决这个问题
$(".my_list_checkbox").on("change",function(){
console.log("clicked");
});
$(".my_list_checkbox").click(function(){
console.log("clicked");
});
$("#my_list .my_list_checkbox").on("change",function(){
console.log("clicked");
});
$("#my_list .my_list_checkbox").click(function(){
console.log("clicked");
});
$("#my_list li").delegate("input[type:checkbox]","change",function(){
console.log("clicked");
});
$("#my_list > li > input[type=checkbox]").change(function(){
console.log("clicked");
});
它应该是
$("#my_list").on('change', "input[type=checkbox]",function(){
console.log("clicked");
});
或
$("#my_list").on('change', ".my_list_checkbox",function(){
console.log("clicked");
});
试试这个:
$('.my_list_checkbox').change(function(){
console.log("clicked");
});
如果要浏览父元素,请尝试$('#my_list").find('.my_list_checkbox').change(function(){console.log("已单击");});
在这种情况下,如果.change不起作用,您也可以尝试使用.focuout()函数。。。
使用事件委派,因为#my_list
是.my_list_checkbox
的父级,并且当.my_list_checkbox
类的任何元素添加到#my_list
时,事件都会自动绑定。
$("#my_list").on("change", ".my_list_checkbox" ,function(){
console.log("clicked");
});
试试这个
$("#my_list .my_list_checkbox").click(function(){
console.log("clicked");
});
或
$("#my_list").on('click', ".my_list_checkbox",function(){
console.log("clicked");
});
相关文章:
- 如果选中了多个复选框,如何添加事件
- 复选框,然后单击事件处理
- Firefox:点击并更改未附加到文档树中的复选框元素上的事件
- 选中javascript中的属性集时,复选框更改事件未触发
- jQuery复选框(在ul>li下)检查事件
- 如何禁用自定义复选框的单击事件
- 将函数事件绑定到更改函数的复选框/标签
- 复选框事件onclick不起作用
- 单击复选框后未收到复选框事件
- 使用 JavaScript 复选框事件切换 html 的可见性
- 复选框事件和保持数组-如何在代码中处理
- onclick复选框事件
- 根据某些业务逻辑动态添加和删除复选框事件
- 复选框事件找不到javascript函数
- jqGrid复选框事件
- jQuery复选框事件处理程序Bug
- 如何在指令中捕获复选框事件
- 复选框事件处理程序抛出错误的点击事件在chrome浏览器,safari工作良好的键盘事件
- AJAX调用后未触发语义UI复选框事件
- 使用 jquery 跟踪复选框事件