我的表中有一个列由复选框组成,我需要检查是否所有复选框都被禁用。
这是我的代码
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;。
感谢帮助,谢谢
答案 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
}
});
});
$(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;
答案 3 :(得分:1)