Подсчитайте количество отмеченных флажков в HTML

Итак, в основном я хочу подсчитать количество отмеченных галочек. Я получаю мой код до такой степени, когда он считает их успешными, но я хочу включить предупреждение, в котором указано количество отмеченных галочек, код делает это, но не показывает общее количество, оно увеличивает общее количество каждого обновления. Я просто хочу знать, как я могу показать общий счет.

Он должен отображать итоговое значение при нажатии кнопки "Да".

<br />Apples
<input type="checkbox" name="fruit" />Oranges
<input type="checkbox" name="fruit" />Mango
<input type="checkbox" name="fruit" />
<br />Yes
<input type="radio" name="yesorno" id="yes" onchange="checkboxes()"
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);
    }
}}

Ответ 1

Это должно сделать трюк:

alert(document.querySelectorAll('input[type="checkbox"]:checked').length);

Ответ 2

попробуйте это с помощью jquery

Способ 1:

alert($('.checkbox_class_here :checked').size());

Способ 2:

alert($('input[name=checkbox_name]').attr('checked'));

Метод: 3

alert($(":checkbox:checked").length);

Ответ 3

Попробуйте этот код

 <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);
           }

        }
     }

FIDDLE DEMO

Ответ 4

Исходный код был почти прав. линия оповещение (счет); был не в том месте. Он должен был появиться после второй закрывающей скобки, такой как: -

 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);
 }

В неправильном месте оно выдавало вам предупреждающее сообщение с каждым отмеченным полем.

Ответ 5

var checkboxes = document.getElementsByName("fruit");
for(int i;i<checkboxes.length;i++)
{
if(checkboxes[i].checked==0){checkboxes.splice(i,1);}
}
alert("Number of checked checkboxes: "+checkboxes.length);

Ответ 6

Спасибо Марлону Бернардесу за это. alert(document.querySelectorAll('input[type="checkbox"]:checked').length);

Если у вас есть несколько форм с разными именами флажков в каждом, приведенный выше код будет считать все флажки во всех формах.

Чтобы преодолеть это, вы можете изменить его для выделения по имени.

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