我想使用javascript检查所有复选框。当我点击提交按钮时,应检查所有复选框。但是,只检查所有复选框几秒钟。
我做错了什么?
HTML :
<form method="post" name="myform">
<input type="checkbox" name="h" value="1" id="g">Reading<br/>
<input type="checkbox" name="h" value="2" id="g">php<br/>
<input type="checkbox" name="h" value="3" id="g">playing<br/>
<input type="checkbox" name="h" value="4" id="g">Gaming<br/>
<input type="checkbox" name="h" value="5" id="g">Coding<br/>
<input type="submit" name="sub" value="submit" onclick="checkall(document.myform.h)" >
</form>
javascript代码:
<script type="text/javascript">
function checkall(chk){
for(var i = 0; i < chk.length; i++) {
chk[i].checked = true;
}
}
</script>
答案 0 :(得分:3)
问题是您在表单中使用提交按钮,点击后会提交表单。
因此,一个解决方案是将按钮从提交按钮更改为普通按钮,该按钮不会触发表单的提交。
function checkall(chk) {
var i;
for (i = 0; i < chk.length; i++) {
chk[i].checked = true;
//return true;
}
}
&#13;
<form method="post" name="myform">
<input type="checkbox" name="h" value="1" id="g">Reading
<br/>
<input type="checkbox" name="h" value="2" id="g">php
<br/>
<input type="checkbox" name="h" value="3" id="g">playing
<br/>
<input type="checkbox" name="h" value="4" id="g">Gaming
<br/>
<input type="checkbox" name="h" value="5" id="g">Coding
<br/>
<!--<input type="radio" name="gen" value="male">Male<br/>-->
<!--<input type="radio" name="gen" value="female">Female<br/>-->
<input type="button" name="sub" value="submit" onclick="checkall(document.myform.h)">
</form>
&#13;
答案 1 :(得分:0)
您的代码正常工作只需停止表单提交即可解决您的问题使用<form method="post" name="myform" onsubmit="return false">
并使用ajax获取数据。
<强> Working Fiddle 强>
答案 2 :(得分:0)
您创建了一个表单。单击“提交”按钮后将提交表单。您可以使用以下方法仅选择所有复选框。
步骤1-在html中写下面的语句。
<input type="checkbox" name="h" value="1" class="g">Reading<br/>
<input type="checkbox" name="h" value="2" class="g">php<br/>
<input type="checkbox" name="h" value="3" class="g">playing<br/>
<input type="checkbox" name="h" value="4" class="g">Gaming<br/>
<input type="checkbox" name="h" value="5" class="g">Coding<br/>
<input type="button" name="sub" value="check all" id='custom_button'>
步骤2-在js文件中写下以下语句 -
jQuery('#custom_button').click(function(){
jQuery('.g').each(function() { //loop through each checkbox
this.checked = true; //deselect all checkboxes with class "checkbox1"
});
});
上面的语句将在点击按钮后选择所有复选框。
如果您想查看示例,请使用此链接 - http://jsfiddle.net/oxg3p1ny/1/