如果一个输入中有相同的类,则jquery是多个输入字段的总和
您好我需要在一个输入中将相同类输入的值与类名total相加。
可能?
这是一个工作小提琴
$(document).on("change", "qty1", function() { var sum = 0; $("input[class *= 'qty1']").each(function(){ sum += +$(this).val(); }); $(".total").val(sum); });
你几乎已经拥有它,只需要为适当的选择器调整你的JQuery
更新小提琴: http : //jsfiddle.net/5gsBV/7/
$(document).on("change", ".qty1", function() { var sum = 0; $(".qty1").each(function(){ sum += +$(this).val(); }); $(".total").val(sum); });
我想你的问题在这里:
$("#destination").val(sum);
将其更改为:
$(".total").val(sum);
而不是change
事件,我建议你改用keyup
。
$(document).on("keyup"
我建议这个解决方案:
HTML
JS
$(".qty1").on("blur", function(){ var sum=0; $(".qty1").each(function(){ if($(this).val() != "") sum += parseInt($(this).val()); }); $("#result").html(sum); });
小提琴
我们可以使用以下自己的function
(function( $ ){ $.fn.sum=function () { var sum=0; $(this).each(function(index, element){ sum += parseFloat($(element).val()); }); return sum; }; })( jQuery ); //Call $('.abcd').sum();
你几乎拥有它:
$(document).on("change", ".qty1", function() { var sum = 0; $(".qty1").each(function(){ sum += +$(this).val(); }); $(".total").val(sum); });
所有上述答案的问题在于,如果输入的数字不是数字,它们就会失败。 如果你想要一些对用户更友好的东西,你应该做一些validation,甚至可以在输入数字以外的值时给出一些反馈。
$('body').on('change', '.qty1', function() { var total=0; $(".qty1").each(function(){ quantity = parseInt($(this).val()); if (!isNaN(quantity)) { total += quantity; } }); $('.total').val('Total: '+total); });
$(document).on("keyup", ".qty1", function() { var sum = 0; $(".qty1").each(function(){ sum += +$(this).val(); }); $(".total").val(sum); });