Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 计算HTML中选中复选框的数量_Javascript_Html_Forms_Checkbox_Onchange - Fatal编程技术网

Javascript 计算HTML中选中复选框的数量

Javascript 计算HTML中选中复选框的数量,javascript,html,forms,checkbox,onchange,Javascript,Html,Forms,Checkbox,Onchange,所以基本上我想计算勾选的复选框的数量。我让我的代码成功计数,但我想输入一个警报,显示勾选的复选框数量,代码这样做,但不显示总计数,每次刷新都会增加总计数。我只是想知道如何显示总数 单击单选按钮“是”时,应显示总数 苹果 橘子 芒果 是的 使用jquery试试这个 方法1: alert($('.checkbox_class_here :checked').size()); 方法2: alert($('input[name=checkbox_name]').attr('checked')); 方

所以基本上我想计算勾选的复选框的数量。我让我的代码成功计数,但我想输入一个警报,显示勾选的复选框数量,代码这样做,但不显示总计数,每次刷新都会增加总计数。我只是想知道如何显示总数

单击单选按钮“是”时,应显示总数


苹果 橘子 芒果
是的 使用jquery试试这个

方法1:

alert($('.checkbox_class_here :checked').size());
方法2:

alert($('input[name=checkbox_name]').attr('checked'));
方法:3

alert($(":checkbox:checked").length);
试试这个代码

 <br />Apples
                <input type="checkbox" name="fruit" checked/>Oranges
                <input type="checkbox" name="fruit" />Mango
                <input type="checkbox" name="fruit" />

                <br />Yes
<input type="radio" name="yesorno" id="yes" onClick="checkboxes();" />

苹果 橘子 芒果
是的
Javascript

     function checkboxes()
      {
       var inputElems = document.getElementsByTagName("input"),
        count = 0;

        for (var i=0; i<inputElems.length; i++) {       
           if (inputElems[i].type == "checkbox" && inputElems[i].checked == true){
              count++;
              alert(count);
           }

        }
     }
函数复选框()
{
var inputElems=document.getElementsByTagName(“输入”),
计数=0;
对于(var i=0;i
var复选框=document.getElementsByName(“fruit”);

对于(i=0;i这应该可以做到:


警报(document.queryselectoral('input[type=“checkbox”]:checked').length);

感谢Marlon Bernardes的帮助。
警报(document.querySelectorAll('input[type=“checkbox”]:checked').length);

如果您有多个表单,每个表单中有不同的复选框名称,则上述代码将计算所有表单中的所有复选框

要克服这个问题,您可以修改它以按名称隔离

var le = document.querySelectorAll('input[name="chkboxes[]"]:checked').length;

最初的代码几乎是正确的 警报(计数); 在错误的位置。它应该在第二个右括号后面,如下所示:-

 function checkboxes()
  {
   var inputElems = document.getElementsByTagName("input"),
    count = 0;

    for (var i=0; i<inputElems.length; i++) {       
       if (inputElems[i].type == "checkbox" && inputElems[i].checked == true){
          count++;
       }
    }
    alert(count);
 }
函数复选框()
{
var inputElems=document.getElementsByTagName(“输入”),
计数=0;
对于(var i=0;i
函数复选框(){
var inputs=document.getElementsByTagName(“输入”);
var-inputObj;
var selectedCount=0;

对于(var count1=0;count1不同问题的可能重复项@johncode
document.queryselectoral('input[type=“checkbox”]:checked')).length
是的,需要Javascript虽然这是Javascript,但从技术上讲,用户没有提到JQuery。你不应该假设人们正在使用一个他们没有提到的库。这对于那些在这个问题上遇到问题并且正在使用JQuery的人来说仍然是一个有用的答案。如果OP没有提到它,答案是“尝试使用…”S、 对于方法1,在:checked和类名之间不需要空格。在第一个方法中,使用length而不是size(),除了“onClick”更改外,我没有其他更改。我试图阻止在勾选3个复选框时弹出3条警报消息。@roro
alert(count);
put-out-from-loop.alert(document.queryselector)all('input:checked').length-1);减去一没有意义。length返回勾选的复选框数(即数组的长度)我把你的代码行放在JSFIDLE中,它给了我打勾的框的数量+1,它正在计算复选框和单选按钮。因为你只想计算复选框,所以使用
alert(document.querySelectorAll('input[type=“checkbox”]:checked').length);
太聪明了!谢谢语法错误:'input[name=“foo”]:checked'不是有效的选择器(Firefox 57)
 function checkboxes()
  {
   var inputElems = document.getElementsByTagName("input"),
    count = 0;

    for (var i=0; i<inputElems.length; i++) {       
       if (inputElems[i].type == "checkbox" && inputElems[i].checked == true){
          count++;
       }
    }
    alert(count);
 }