Jquery通过单击表中的文本选择复选框

Jquery通过单击表中的文本选择复选框,jquery,checkbox,Jquery,Checkbox,我试图通过单击复选框旁边的文本来选中和取消选中复选框。下面是一个示例,我试图单击项目名称并选中复选框。我想开关应该适合这里,但我无法使它工作 我认为您的目标是文件名,如果是这样,请尝试 $("#checkall").change(function () { $(this).closest("table").find(".checkbox").prop("checked", this.checked).change(); }); $(".checkbox").change(functi

我试图通过单击复选框旁边的文本来选中和取消选中复选框。下面是一个示例,我试图单击项目名称并选中复选框。我想开关应该适合这里,但我无法使它工作


我认为您的目标是文件名,如果是这样,请尝试

$("#checkall").change(function () {
    $(this).closest("table").find(".checkbox").prop("checked", this.checked).change();
});

$(".checkbox").change(function () {
    $(this).closest('tr').toggleClass("highlight", this.checked);
});

$('.filename').click(function () {
    $(this).closest('tr').find('input').prop('checked', function (i, c) {
        return !c;
    }).change()
})
演示:

  • 为具有目标文本的td创建一个单击处理程序
  • 在同一行中查找输入元素并切换其选中状态

什么是回报!c在这里做什么?@Chandana该方法获取已检查属性的当前值-true/false我们使用
对该值求反!c
并将其作为我在项目中发布的新值返回。全选和取消全选只工作一次。我在谷歌上搜索到,attr在某种程度上不适合使用,也不适合使用道具。但是上面的代码对我不起作用。您能帮忙吗?@Chandana这取决于您使用的jquery版本。。。项目中使用的jQuery版本是什么?这是用jQuery更新版本更新的
$("#checkall").change(function () {
    $(this).closest("table").find(".checkbox").prop("checked", this.checked).change();
});

$(".checkbox").change(function () {
    $(this).closest('tr').toggleClass("highlight", this.checked);
});

$('.filename').click(function () {
    $(this).closest('tr').find('input').prop('checked', function (i, c) {
        return !c;
    }).change()
})