[英]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.