Я написал этот скрипт, чтобы проверить, когда отмечены флажки с классами «A», «B» и «C», а затем добавьте их вместе (эти классы назначаются нескольким флажкам). однако, я хочу только считать один экземпляр из них проверенным, тогда как этот скрипт подсчитывает их каждый раз, когда флажки с этими значениями проверяются. как я могу изменить его, чтобы считать только один раз?count checkbox class only once
JQuery:
$(function() {
$('#product-counter .counter').text('0');
var total = $("#search-id-checkboxes .A:checked").length + $("#search-id-checkboxes .B:checked").length + $("#search-id-checkboxes .C:checked").length;
if(total>0){$("#product-counter .counter").text(total);}
else{$("#product-counter .counter").text('0');}
})
function updateCounter() {
var len = $("#search-id-checkboxes .A:checked").length + $("#search-id-checkboxes .B:checked").length + $("#search-id-checkboxes .C:checked").length;
if(len>0){$("#product-counter .counter").text(len);}
else{$("#product-counter .counter").text('0');}
}
$("#search-id-checkboxes input:checkbox").on("change", function() {
updateCounter();
});
HTML:
<div id="search-id-checkboxes">
<input type="checkbox" class="A"/> A<br />
<input type="checkbox" class="A" /> A<br />
<input type="checkbox" class="B" /> B<br />
<input type="checkbox" class="B" /> B<br />
<input type="checkbox" class="C" /> C<br />
<input type="checkbox" class="C" /> C<br />
</div>
'total' можно свести к:' $ ('# search-id-checkboxes'). Find ('. A, .B, .C'). Filter (': checked'). Length; ' , То же самое с 'len'. – elclanrs
спасибо, но все еще не решил проблему. проблема в том, что когда я нажимаю один или оба «А», он должен показывать только «1», в отличие от «2» – user2308480