如何使用JS检查所有复选框?

时间:2015-11-03 05:17:03

标签: javascript html checkbox html-form checked

我想使用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>

3 个答案:

答案 0 :(得分:3)

问题是您在表单中使用提交按钮,点击后会提交表单。

因此,一个解决方案是将按钮从提交按钮更改为普通按钮,该按钮不会触发表单的提交。

&#13;
&#13;
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;
&#13;
&#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/