在JavaScript中跟踪Checkbox计数

时间:2015-12-01 03:55:29

标签: javascript checkbox

我想跟踪我的复选框计数。即,例如,如果我有3个复选框 苹果 芒果 桔子 当我检查苹果复选框时,它应该在标签旁边显示计数为1,如果我点击橙色复选框它应该显示它应该显示计数为2.现在,如果我取消选中苹果,现在橙子计数应该变为1和苹果应该变成0.

我尝试过以下代码:

<input type="checkbox" name="apples" id="fruits"/> Apples <br/>
<input type="checkbox" name="mangoes" id="fruits"/> Mangoes <br/>
<input type="checkbox" name="oranges" id="fruits"/> Oranges <br/>

<script>
var inputElems = document.getElementByTagname("input");
for (var i=0; i  &lt; inputElems.length; i++) {
                if (inputElems[i].type === "checkbox" &amp;&amp; inputElems[i].checked === true) 
                {
                    if(inputElems[i].id === "apple")
                    {
                    count1++;
                    count1 = count1+count2+count3;

                    alert('count for apples: '+count1);

                    }
                    if(inputElems[i].id === "mango")
                    {
                    count2++;
                    count2 = count1+count2+count3;
                    alert('count for mangoes: '+count2);
                    }
                    if(inputElems[i].id === "orange")
                    {
                    count3++;
                    count3 = count1+count2+count3;
                    alert('count for oranges: '+count3);
                    }
                }
                }
              }

在这里,我尝试将值放在警告框中。但我想尝试将它放在标签旁边。 即: 苹果(1) 芒果(3) 橘子(2) 这样根据我选择的复选框。我怎么做?请帮帮我。

谢谢, Shruthi

1 个答案:

答案 0 :(得分:0)

document.getElementByTagname("input");,它是getElementsByTagName()

for (var i=0; i &lt; inputElems.length; i++) {,将$lt;替换为<

if (inputElems[i].type === "checkbox" &amp;&amp; inputElems[i].checked === true),将&amp;&amp;替换为&&

<input type="checkbox" name="apples" id="fruits"/> Apples <br/>
<input type="checkbox" name="mangoes" id="fruits"/> Mangoes <br/>
<input type="checkbox" name="oranges" id="fruits"/> Oranges <br/>

所有输入类型都有id ="fruits",这是错误的,因为id应该是唯一的,并且在你的js中检查“apples”,“oranges”......还要添加一个onchange事件来检查用户是否选中了是否是复选框