所以我有一个带有复选框的字段,需要在提交之前进行选择。 问题是它不是一个固定数量的复选框,因为它取决于从数据库中提取的要检查的值的数量。
基本上,复选框的数量范围为1到9。
我使用ajax发送值,所以我没有在表单中列出'checkbale items',而是列在列表中。像这样的东西
Unit 1: <input type="checkbox" name="unit[]" value="1"/>
Unit 2: <input type="checkbox" name="unit[]" value="2"/>
Unit 3: <input type="checkbox" name="unit[]" value="3"/>
Unit 4: <input type="checkbox" name="unit[]" value="4"/>
<input type="submit" value="register units"/>
问题是:我如何确保每次都会在提交前检查所有复选框。
答案 0 :(得分:4)
if($('input[type="checkbox"]:checked').length == $('input[type="checkbox"]').length){
//all checkboxes are checked.
}
您还可以使用name属性来使用$('input[name="unit[]"]'
和$('input[name="unit[]"]:checked')
答案 1 :(得分:2)
你也可以这样做 -
<form name="myForm" action="targetpage.asp" onsubmit="return validateForm();" method="post">
Unit 1: <input type="checkbox" name="unit" value="1" />
Unit 2: <input type="checkbox" name="unit" value="2" />
Unit 3: <input type="checkbox" name="unit" value="3" />
Unit 4: <input type="checkbox" name="unit" value="4" />
<input type="submit" value="submit" id="XISubmit" />
</form>
<script>
function validateForm() {
if (validateCheckbox(document.forms["myForm"]["unit"])) {
alert('All good!');
return false;
}
else {
alert('Please select all checkboxes.');
return false;
}
}
function validateCheckbox(chk) {
for (i = 0; i < chk.length; ++i) {
if (!chk[i].checked) return false;
}
return true;
}
</script>
答案 2 :(得分:1)
尝试这样的事情
if($('form input:checked').length == $('form input:checkbox').length){
//submit
}
答案 3 :(得分:0)
在提交处理程序中,检查未选中复选框的长度是否大于0然后显示错误消息并阻止默认操作
if($('input[name="unit[]"]').not(':checked').length){
alert();
return;
}
答案 4 :(得分:0)
<input type="checkbox" name="unit[]" value="1"/>
<input type="checkbox" name="unit[]" value="2"/>
<input type="checkbox" name="unit[]" value="3"/>
<input type="checkbox" name="unit[]" value="4"/>
<input type="button" id="buttonsubmit" />
这是你的HTML
这是jquery
$('#buttonsubmit').click(function(){
$('.checkme').each(function(){
var aa="all"
if(!$(this).is(':checked'))
{
aa='notchecked';
}
if(aa=='notchecked')
{
alert('all not checked');
}
else
{
alert('all checked');
}
});
});
查看此演示Click here