单击父级时的 jQuery 切换复选框

标签 jquery html checkbox toggle prop

我编写了一个简单的 js 函数来打开/关闭复选框,然后单击父项(在本例中为 TD)。当您单击 TD 上的任意位置时,此功能按预期工作

然而,当您点击复选框本身时,没有任何反应。
我想知道的是为什么它这样做以及最好的解决方法是什么?

I have a provided a jsfiddle to demo this.

这是我的 js 函数:

$("td.onoff").click(function() {
    var objCheckbox = $(this).find("input[type=checkbox]");
    if( objCheckbox.length >= 1 ) {
        objCheckbox.prop("checked", !objCheckbox.prop("checked"));
    }
});

谢谢。

最佳答案

您需要当事件源不是带有类 onoff 的 td 时通过传递事件代码,您可以这样做。

Live Demo

$(function() {
    $("td.onoff").click(function(event) {          
        if(event.target.className != 'onoff') return;
        var objCheckbox = $(this).find("input[type=checkbox]");
        if( objCheckbox.length >= 1 ) {
            objCheckbox.prop("checked", !objCheckbox.prop("checked"));
        }
    });
});

关于单击父级时的 jQuery 切换复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13489644/

相关文章:

javascript - 无法在一个 HTML 页面上显示两个 Chart.js

javascript - 从 Javascript 函数获取复选框值

jquery - 延迟后淡出 jQuery 菜单

jquery - 插件选项卡从第一个选项卡转发到第二个

jquery - 使用 jQuery 查找 Twitter 主题标签,并应用链接

php - 使用 PDF 格式的 FPDM 设置复选框和单选按钮

javascript - Jquery form.serialize() 无法正确管理复选框

jquery - Twitter Bootstrap 3 模式不工作

javascript - 使用 d3.js,如何使用相同的脚本创建具有 3 个数据源的 3 个图表?

html css 布局未按预期呈现