2017-04-22 84 views
1

当我检查一个或多个框时,它显示按钮“btns” 但如果我取消选中它将隐藏它们,如何使它保持 如果有一个或多个复选框是仍然检查显示隐藏按钮,至少有一个复选框被选中

<input type='checkbox' class='checklist' name='id[]' value='$id' /> 
<input type='checkbox' class='checklist' name='id[]' value='$id' /> 
<input type='checkbox' class='checklist' name='id[]' value='$id' /> 
<input type='checkbox' class='checklist' name='id[]' value='$id' /> 

$(".btns").hide(); 

$(".checklist").click(function() { 
    if($(this).is(":checked")) { 
     $(".btns").show(); 
    } else { 
     $(".btns").hide(); 
    } 
}); 

回答

2

您可以检查选中的复选框的数量。如果长度为0 - 隐藏元素,如果不是 - 显示它。

$(".checklist").click(function() { 
 
    $('.btns').toggle($(".checklist:checked").length > 0); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type='checkbox' class='checklist' name='id[]' value='$id' /> 
 
<input type='checkbox' class='checklist' name='id[]' value='$id' /> 
 
<input type='checkbox' class='checklist' name='id[]' value='$id' /> 
 
<input type='checkbox' class='checklist' name='id[]' value='$id' /> 
 

 
<p class='btns' hidden>btns</p>

+1

感谢这个工作完全 – KID

+1

做过再次感谢 – KID

+0

有这个特定的jQuery方法*'.toggle()'*,所以'$('。btns')。toggle($(“。checklist:checked”)。length> 0);' –

0
$(".checklist").click(function() { 
var check_count=$(".checklist:checked"); 
if(check_count.length>0){$(".btns").show();} 
else{$(".btns").hide();} 
}); 

它检查是否有任何核对清单,以便显示.btns否则隐藏它

相关问题