列表复选框更改事件不会在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");
});
答案 0 :(得分:1)
应该是
$("#my_list").on('change', "input[type=checkbox]",function(){
console.log("clicked");
});
或
$("#my_list").on('change', ".my_list_checkbox",function(){
console.log("clicked");
});
答案 1 :(得分:1)
试试这个:
$('.my_list_checkbox').change(function(){
console.log("clicked");
});
如果您希望浏览父元素,请尝试 $( '#my_list“)。找到('。my_list_checkbox')。改变(函数(){ 的console.log( “点击”); });
在这种情况下,如果.change不能正常工作,你也可以尝试使用.focusout()函数...
答案 2 :(得分:0)
使用事件委派,因为#my_list
是.my_list_checkbox
的父级,并且当.my_list_checkbox
中的某个元素添加到#my_list
时,事件会自动绑定。
$("#my_list").on("change", ".my_list_checkbox" ,function(){
console.log("clicked");
});
答案 3 :(得分:0)
试试这个
$("#my_list .my_list_checkbox").click(function(){
console.log("clicked");
});
或
$("#my_list").on('click', ".my_list_checkbox",function(){
console.log("clicked");
});