Jquery multiple checkbox получает значение в var или print in span

код для html:

Add-ons

Add-on Number 1 - 10 QR
Add-on Number 2 - 20 QR
Add-on Number 3 - 40 QR
Add-on Number 4 - 60 QR
I want more add-ons 0 1 2 3 User total usage:

Jquery:

 //For select function displayVals() { var singleValues = $("#more").val(); $("#span").html("more addons: " + singleValues); } $("select").change(displayVals); displayVals(); //For checkboxes var $cbs = $('input[name="ch1"]'); $cbs.click(function() { var total = 0; $cbs.each(function() { if (this.checked) var singleValues = $("#more").val(); total += +this.value + singleValues; }); $("#usertotal").text(total); }); 

Я хочу, чтобы общее использование пользователя: создать сумму флажков и добавить со значением параметра, чтобы, если я выберу 1 флажок и 2 плюс вариант 1, я буду писать в общем использовании пользователя: 60. Заранее спасибо !

рабочая демонстрация: http://jsfiddle.net/GNDAG/

Надеюсь, поможет. Вы можете узнать больше о each .

Однако, как и @nnnnnn, ваш html не прав – атрибуты идентификатора должны быть уникальными.

Код

 $('input[type="checkbox"]').change(function() { var total_span = 0; $('input[type="checkbox"]').each(function() { if ($(this).is(':checked')) { total_span += parseInt($(this).prop('value'), 10); } }); $("#usertotal").html(total_span); });​ 

Обратите внимание, что недопустимый html использовать один и тот же идентификатор для нескольких элементов. Установите флажки, используя атрибут name. При щелчке по любому флажку через них все и добавьте значение всех проверенных. Обратите внимание, что значения нужно преобразовать в числа, которые я делаю с оператором унарного плюса.

 var $cbs = $('input[name="ch1"]'); $cbs.click(function() { var total = 0; $cbs.each(function() { if (this.checked) total += +this.value; }); $("#usertotal").text(total); });​ 

Демо: http://jsfiddle.net/6GX7g/

Ну вот:

РАБОЧАЯ ДЕМО jsfiddle

HTML:

 

Add-ons

Add-on Number 1 - 10 QR
Add-on Number 2 - 20 QR
Add-on Number 3 - 40 QR
Add-on Number 4 - 60 QR
User total usage:

Jquery / JavaScript:

  var getCheckedBoxValues = function() { var values = [] $(".numbers:checked").each(function() { values.push($(this).val()); }); return values; }; $('.numbers').click(function () { $('#usertotal').html(); var usertotal = 0; var values = getCheckedBoxValues(); for(i = 0; i < values.length; i++) { usertotal += parseInt(values[i]); } $('#usertotal').html(usertotal); }); 
 try it: $('input:checkbox').change(function(){ var tot=0; $('input:checkbox:checked').each(function(){ tot+=parseInt($(this).val()); }); $('#usertotal').html(tot) });