2017-04-22 55 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否則隱藏它

相關問題