检查是否至少选中了一个复选框而不单击

时间:2017-06-15 05:36:20

标签: jquery

如何检查而不点击选中页面上至少一个选定复选框的按钮?谢谢!

<script>
$('#filter').find('input[type="checkbox"]').each( function(){


   if ($('input[type="checkbox"]').is(":checked")){
     $('#status').text("yes");
   }
   else {
   $('#status').text("no");
   }

});
</script>

 <div id="filter">
<input id='id1' type='checkbox' />
<input id='id1' type='checkbox' />
<input id='id1' type='checkbox' />


</div>

<label id='status' />

2 个答案:

答案 0 :(得分:1)

首先从HTML中的div id中删除#。

还要考虑使复选框ID唯一。

要检查是否选中了任何复选框,您可以通过以下代码获取。

$(document).ready(function(){

function updateStatus(){
 if ($('div#filter input:checked').length > 0 ){
    $('#status').text("yes");
 }
 else {
    $('#status').text("no");
 } 
}

$('div#filter input[type="checkbox"]').on("change",updateStatus); 
updateStatus(); 
});

不了解您的使用案例,但您也可以在每1秒钟后(或根据要求)调用该功能,如下所示。

$(document).ready(function(){

function updateStatus(){
 if ($('div#filter input:checked').length > 0 ){
    $('#status').text("yes");
 }
 else {
    $('#status').text("no");
 } 
}

window.setInterval(updateStatus, 1000); 
});

答案 1 :(得分:0)

使用.length

$('input[type="checkbox"]:checked').length !== 0

演示

$(document).ready(function(){
    if($('#filter input[type="checkbox"]:checked').length !== 0){
      alert('one or more checked');
    }else{
      alert('Nothing checked');
    }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="filter">
  <input id='id1' type='checkbox' />
  <input id='id1' type='checkbox' />
  <input id='id1' type='checkbox' />
</div>