如果一个输入中有相同的类,则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(); 

http://www.gleegrid.com/code-snippet/javascript/jquery-sum-input-values-by-class/?filter=bygroup&group=JQuery

你几乎拥有它:

 $(document).on("change", ".qty1", function() { var sum = 0; $(".qty1").each(function(){ sum += +$(this).val(); }); $(".total").val(sum); }); 

http://jsfiddle.net/DUKL6/ 1

所有上述答案的问题在于,如果输入的数字不是数字,它们就会失败。 如果你想要一些对用户更友好的东西,你应该做一些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); });