在此Fiddle查看我的fiddle
。我有不同的id和类,我想添加动态值。虽然键我想在总字段中动态添加值
我有3个输入,其中包含ID InvQty1,InvQty2和InvQty3以及一个id为
$(document).ready(function(){
$('.InvQty').keyup(function(){
var val2 = parseInt($('#InvQty1').val())+parseInt($('#InvQty2').val());
$('#Total').val(val2);
});
});
任何帮助真的很感激!
答案 0 :(得分:2)
查看此jsFiddle Link
$(document).ready(function(){
$('.InvQty').keyup(function(){
var val2 = 0;
$("input[id^='InvQty']").each(function()
{
if($(this).val().length != 0)
{
val2 = val2 + parseFloat($(this).val()) // need to parse int and float avoiding NaN
}
});
$('#Total').val(val2);
});
});
答案 1 :(得分:0)
这是一个解决方案。您设置了该函数,然后,在每个keyup中,它获取具有InvQty类的每个元素,然后获取其值并将其添加到total。然后它将它设置在总输入中。
$('.InvQty').keyup(function(){
var total = 0;
$('.InvQty').each( function(){
total += parseFloat($(this).val());
});
$('#Total').val(total);
});
如果您在其上添加更多具有InvQty类的输入,这也有效。 http://jsfiddle.net/2z4ddh7o/13/
编辑:按照myfunkyside
的建议放置parseFloat答案 2 :(得分:0)
尝试此操作:在keyup
上,迭代所有InvQty
输入并总结值以将其合计。使用parseFloat()
来避免NaN
$(document).ready(function(){
$('.InvQty').keyup(function(){
var val2 = 0;
$('.InvQty').each(function(){
val2+=(parseFloat($(this).val()) || 0);
});
$('#Total').val(val2);
});
});
<强> DEMO 强>
答案 3 :(得分:0)
尝试以下代码
$(document).ready(function(){
$('.InvQty').keyup(function(){
var res = 0 ;
$(".InvQty").each(function() {
res += parseInt($(this).val());
});
$('#Total').val(res);
});
});
答案 4 :(得分:0)
$(document).ready(function(){
$(document).on('keyup', '.InvQty', function(){
var val2 = 0;
//each input where id starts with 'InvQty' (id='InvQty*')
$('input[id^="InvQty"').each(function(i, el){
//get int val
var curVal = parseInt( $(el).val() );
//if empty input, then we calculate this as zero value
var curVal = (isNaN( curVal ) ? 0 : curVal );
//summ
val2 = val2 + curVal;
});
//result
$('#Total').val(val2);
});
});
答案 5 :(得分:-1)
你需要试试这个:
$(document).ready(function(){
$('.InvQty').keyup(function(){
var Total = 0;
$('.InvQty').each(function(){
if(parseInt($(this).val()))
Total += parseInt($(this).val());
});
$('#Total').val(Total);
});
});
NaN值出现是因为parseInt('')返回NaN而不是0。
我希望这会对你有帮助!