简体   繁体   English

检查至少一个复选框 javascript

[英]checking at least one checkbox javascript

I need to check at least one checkbox, don't know why it's not working !!我需要检查至少一个复选框,不知道为什么它不起作用! help please请帮助

ss=0;
for (i=0;i<=4;i++) 
{
if (document.f.cat[i].checked)

ss++; 
} 
if (ss==0){
alert("Please check at least one ");
return false;
}


> <p><input type="checkbox" name="cat1" value="ON">Art1     <input
> type="checkbox" name="cat2" value="ON">Art2   <input type="checkbox"
> name="cat3" value="ON">Art3   <input type="checkbox" name="cat4"
> value="ON">Art 4</p>

You can use document.querySelectorAll('.checkbox input[type="checkbox"]:checked') to find the checked checkbox.您可以使用document.querySelectorAll('.checkbox input[type="checkbox"]:checked')来查找选中的复选框。

 var btn = document.getElementById('check'); var msg = document.getElementById('checkedValue'); btn.addEventListener('click', function() { var len = document.querySelectorAll('.checkbox input[type="checkbox"]:checked').length if (len <= 0) { msg.innerHTML = "Please check at least one"; } else { msg.innerHTML = "Your have checked <span style='color:red'>" + len + "</span> checkbox"; } })
 body { font: 13px verdana }
 <p class="checkbox"> <input type="checkbox" name="cat1" value="ON">Art1 <input type="checkbox" name="cat1" value="ON">Art2 <input type="checkbox" name="cat1" value="ON">Art3 <input type="checkbox" name="cat1" value="ON">Art4 <input type="button" name="check" id="check" value="Check"> </p> <p id="checkedValue"></p>

Check with this script:检查此脚本:

  <input type="checkbox" name="cat1" value="ON">Art1
  <input type="checkbox" name="cat1" value="ON">Art2
  <input type="checkbox" name="cat1" value="ON">Art3
  <input type="checkbox" name="cat1" value="ON">Art4
  <button type="button" onclick="checkValues()">Click</button>


    var validate = false;
     function checkValues() {
        $('input[type=checkbox]').each(function () {
           alert(this.checked);
           if(this.checked) {
             validate = true;
             return false;
           }
        });
     }

Then handle validate inside if然后处理内部validate如果

if(validate) {
   // do something
}

you mean something like this?你的意思是这样的?

at first i'd assign a unique Id to each element.起初我会为每个元素分配一个唯一的 ID。

<input type="checkbox" id="cat1" value="ON">Art1
<input type="checkbox" id="cat2" value="ON">Art2
<input type="checkbox" id="cat3" value="ON">Art3
<input type="checkbox" id="cat4" value="ON">Art4

var clicked = false;
for (i = 0; i <= 4; i++) {
  if($('#cat'+[i]).is(':checked'))  {
    clicked = true;
    return;
  }
}
if(clicked == false) {
  document.getElementById("cat"+[1]).checked;
}

In your post not too much complete.在您的帖子中没有太多完整。 I created following scenario to provide you answer.我创建了以下场景来为您提供答案。

<p>
<input type="checkbox" name="cat1" value="ON">Art1
<input type="checkbox" name="cat1" value="ON">Art2
<input type="checkbox" name="cat1" value="ON">Art3
<input type="checkbox" name="cat1" value="ON">Art4
</p>
<p><button type="button" onClick="checkIsChecked()">Check Options</button></p>

JS: JS:

function checkIsChecked(){

    var inputs = document.getElementsByTagName('input');
    var flag = false;

    for(var i = 0; i < inputs.length; i++) {
        if(inputs[i].checked) {
            flag = true;
        }
    }

    if(!flag){
        alert("Please check at least one ");
        return false;
    }
}
if(($("#checkboxid1").is(":checked")) || ($("#checkboxid2").is(":checked"))
                || ($("#checkboxid3").is(":checked"))) {
     //Your Code here
    }

You can use this code to verify that checkbox is checked at least one.您可以使用此代码来验证复选框是否至少被选中。

Thanks!!谢谢!!

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM