需要Jquery代码来检查输入类型:在表格中的所有TR中检查

时间:2014-05-22 11:42:35

标签: jquery

我需要检查输入类型:在表格中检查所有tr,之后我需要为此提供事件。你能帮帮我吗??下面是我的代码

$('.view-all-check').click(function (event) {
                        if (this.checked) {
                          $('.message tr input').each(function () {
                              this.checked = true;
                              $(this).parent().parent().addClass('active');

                          });
                      } else {
                          $('.message tr input').each(function () {
                              this.checked = false;
                              $(this).parent().parent().removeClass('active');

                          });
                      }
                  });
"

2 个答案:

答案 0 :(得分:1)

从您的代码中我认为您正在尝试将活动类添加/删除到tr并选中/取消选中所有复选框,您的代码看起来很好,但您必须将其更改为:

$('.view-all-check').click(function (event) {
    if (this.checked) {
        $('.message tr input').each(function () {
            $(this).prop('checked', true); // Check all checkboxes
            $(this).closest('tr').addClass('active'); // Change here    
        });
    } else {
        $('.message tr input').each(function () {
            $(this).prop('checked', false); // un-check all checkboxes
            $(this).closest('tr').removeClass('active'); // Change here
        });
    }
});

Prorotype / Demo

对于反向流程,请为每个文本框指定唯一的类名,并使用:checked获取已选中复选框的长度,并将其与checkbox的{​​{1}}进行比较,以便它.chk {1}}

您可以尝试此代码

(.chk).length == (.chk:checked).length

Updated Example

答案 1 :(得分:0)

你可以试试这个:

$('.view-all-check').change(function (event) {
    if(this.checked){
        $('.message tr input[type="checkbox"]').closest('tr').addClass('active');
    }else{
        $('.message tr input[type="checkbox"]').closest('tr').removeClass('active');
    }
});

您可以使用click元素上的change事件代替$('.view-all-check')事件。


根据您的评论,您可以尝试:

$('.message input[type="checkbox"]').change(function (event) {
    var isChecked = $('.message input[type="checkbox"]:checked').length === $('.message input[type="checkbox"]').length;
    if(isChecked){
        $('.view-all-check').prop('checked', isChecked);
    }
});