2016-03-21 19 views
2

JQuery'den vanilla JavaScript'e bu kodu nasıl yazılır? Kaç tane onay kutusunun kontrol edildiğini görmem gerek. Sorun, toplam skordan işaretlenmemiş onay kutularının nasıl kaldırılacağını bilmiyorum.Kontrol edilen onay kutularının sayısı

$(function() { 
    var countChecked = function() { 
     var n = $("input:checked").length; 
     $(".output").text(n); 
    }; 
    countChecked(); 

    $("input[type=checkbox]").on("click", countChecked); 
}); 

Şimdi ne yapmalıyım?

var box = document.querySelectorAll('form input'); 
var par = document.querySelector('.output'); 
var great = 0; 

for (var i = 0; i < box.length; i++) { 
    box[i].addEventListener('click', countIt); 
    function countIt() { 
     for (var i = 0; i < box.length; i++) { 
      if (box[i].checked) { 
       great++ 
       par.innerHTML = great; 
       return 
      } 
     } 
    } 
} 
+0

Yalnızca kontrol edilen kutuları hesaba katmıyor mu? – adeneo

+0

Well '$ (" input: checked "). Length' size zaten sayımı verir, başka ne yapmak istersiniz? – DavidG

cevap

2

Sen (countIt işlevi içinde taşıyarak örneğin) saymak great değişken her zaman sıfırlamak gerekir.

var box = document.querySelectorAll('form input'); 
var par = document.querySelector('.output'); 

function countIt() { 
    var great = 0; 
    for (var i = 0; i < box.length; i++) { 
     if (box[i].checked) { 
      great++; 
     } 
    } 

    par.innerHTML = great; 
} 

for (var i = 0; i < box.length; i++) { 
    box[i].addEventListener('click', countIt); 
} 

Ayrıca döngü ve innerHTML ayarı ile aynı dışına countIt işlevi tanımı taşıyabilirsiniz.

+0

Yardımlarınız için teşekkür ederiz) – KingOfLeon

İlgili konular