我想检查特定元素的所有复选框是否都被选中但是最后一个 我有这种HTML
if($(".progress-indicator > li:first-child").find(":checkbox").length == $(".progress-indicator > li:first-child").find(":checkbox:checked").length)
{
//All checkbox of first li are checked
}
我首先尝试了
li
这是有效的,但现在我要排除第一个$(".progress-indicator > li:first-child").find(":checkbox:not(:last-child)").length
所以我从那开始
li
但它没有用。此选择器仅选择第一个Others elements
的第一个复选框。我认为这是由于我之前的div
。 (该复选框位于另一个元素内的li
内。
那么,如何选择第一个li
的所有复选框,除了最后一个复选框 OF 这个alertdialog.setCancelable(false)
?
答案 0 :(得分:0)
DO,
var last = $(".progress-indicator >li:first-child").find(":checkbox:last");
所以你的陈述将是
if($(".progress-indicator > li:first-child").find(":checkbox").not(last).length == $(".progress-indicator > li:first-child").find(":checkbox:checked").not(last).length)
{
//All checkbox of first li are checked, regardless of the last one
}
答案 1 :(得分:0)
您可以使用带有负数的eq& not选择器省略最后一个元素
var x=$("input:checkbox").not(":eq(-1)");
x.each(function(){ // this part just for demo
$(this).prop("checked",true)
})
答案 2 :(得分:0)
我会使用jQuery的每个函数来遍历复选框。我会排除最后一个。
这样的事情:
$checkboxes = $('.checkbox')
lengthCheckboxes = $checkboxes.length;
$checkboxes.each(function(i,e) {
if (i !== lengthCheckboxes - 1)
$(e).prop( "checked", true );
})

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<li>
//Others elements (variable)
<input class="checkbox" type="checkbox">
<input class="checkbox" type="checkbox">
<input class="checkbox" type="checkbox">
<input class="checkbox" type="checkbox"> // Exclude this one
</li>
&#13;
答案 3 :(得分:0)
这可以解决问题。
$('.progress-indicator input[type="checkbox"]').not(':last-child').each(function(){
$(this).prop("checked", true);
});
亲切的问候。