Tom*_*Tom 2 checkbox jquery click
我有一些像:
<ul class="myclass">
<li><input type="checkbox"/>some text</li>
<li><input type="checkbox"/>some text</li>
<li><input type="checkbox"/>some text</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
我希望通过单击复选框或任何部分来切换复选框
我尝试了以下jquery:
$('ul.myclass li').click(
function() {
var cb = $(this).find(":checkbox")[0];
if (!$(cb).attr("checked")) {
$(cb).attr("checked", "checked");
} else {
$(cb).removeAttr("checked");
}
}
);
Run Code Online (Sandbox Code Playgroud)
单击文本时哪个工作正常.但是,现在复选框本身实际上并不起作用.它似乎取消了点击复选框的行为.
我该如何防止这种情况?
您可以通过添加以下内容来修复它:
$('ul.myclass li input').click(
function(event){
event.stopPropagation();
});
Run Code Online (Sandbox Code Playgroud)
基本上问题是,当你单击复选框时,它会被选中,但是父母li的点击事件会触发取消选中它.上面的代码可以防止li事件被触发.