繁体   English   中英

列表复选框更改事件不在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(“clicked”);});

在这种情况下,如果.change不能正常工作,你也可以尝试使用.focusout()函数...

使用事件委托,作为#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");
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM