如何检查使用jquery禁用特定类的所有复选框?

时间:2017-08-16 09:40:44

标签: jquery

我的表中有一个列由复选框组成,我需要检查是否所有复选框都被禁用。

这是我的代码

var checkBoxTdSize = $('.hrchy-dt-checkboxes').length;
    var checkedFlag=false;
    for(var t=0;t<checkBoxTdSize;t++){
        var chk = $(this).find('.hrchy-dt-checkboxes')[t];
        if ($(chk).prop('disabled')==true){ 
            checkedFlag=true;
        }else{
            alert('Please Map all the Hierarchy..!');
        }
    }
    if(checkedFlag){
       //Some Code
    }

但是从上面的代码我总是得到警告&#34;请映射所有层次结构..!&#34;。

感谢帮助,谢谢

4 个答案:

答案 0 :(得分:3)

应该像将所有复选框的长度与所有禁用复选框的长度进行比较一样简单,如果它们相同,则全部禁用

if ( $('.hrchy-dt-checkboxes').length === $('.hrchy-dt-checkboxes:disabled').length  ) {...

答案 1 :(得分:2)

您需要检查已禁用属性是否为 true

以下示例:

function test() {
  $(".hrchy-dt-checkboxes").each(function() {
     if ($(this).is(":disabled")) {
        // your action here test using is function
     }

     if ($(this).attr("disabled")) {
       // your action here test using attribute function
     }
  });
} 

$(document).ready(function() {
   test();
});

答案 2 :(得分:2)

如果您的复选框不在任何父级中,那么为什么使用find()方法...?

$(document).ready(function() {
    var chk = $('.hrchy-dt-checkboxes');
    chk.each(function(index, el) {
        if ($(this).prop('disabled') == true) {
            //your code here
        }
    });
});

&#13;
&#13;
$(document).ready(function() {
    var chk = $('.hrchy-dt-checkboxes');
    chk.each(function(index, el) {
        if ($(this).prop('disabled') == true) {
        	var condi = true;
        	console.log('Disabled = ' + condi)
        }
        else {
        	console.log('Enabled..!')
        }
    });
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="checkbox" name="" class="hrchy-dt-checkboxes">
<input type="checkbox" name="" class="hrchy-dt-checkboxes">
<input type="checkbox" name="" class="hrchy-dt-checkboxes">
<input type="checkbox" name="" class="hrchy-dt-checkboxes">
<input type="checkbox" name="" class="hrchy-dt-checkboxes" disabled="disabled">
&#13;
&#13;
&#13;

答案 3 :(得分:1)

你可以使用这样的东西

var x = document.getElementById("myCheck").disabled;

比x更真或假。

Source