所以我的表单已完成,我需要根据用户选择计算AJAX填充后的输入字段的总值。我尝试过并试图找到解决方案,但没有任何工作......呃。
这是需要计算的输入字段的html以及需要返回总和的字段:
<input type="text" class="form-control prices" id="lt1total" placeholder="Amount" value="" readonly>
<input type="text" class="form-control prices" id="lt2total" placeholder="Amount" value="" readonly>
<input type="text" class="form-control prices" id="lt3total" placeholder="Amount" value="" readonly>
<input type="text" class="form-control disabled" id="lttotal" placeholder="Amount" value="" readonly>
这是AJAX请求(每个都有一个正常工作):
$.ajax({
method: 'GET',
url: 'example.url',
data: {
lt1datetype: lt1datetype,
lt1tt: lt1tt,
}
}).done(function(result) {
console.log('', result);
$('#lt1total').val(result);
});
这是唯一的jquery函数,我甚至为#lttotal设置了一个值:
$(document).ready(function() {
var sum = 0;
$(".prices").each(function(){
sum += Number($(this).val());
});
$("#lttotal").val(sum);
});
只输出0金额。 AJAX获得的值就像这个123.00或1234.00我陷入困境并加剧。任何帮助或方向将不胜感激。
答案 0 :(得分:1)
在完成所有请求后,使用$.when
运行计算代码。
var request1 = $.ajax({
method: 'GET',
url: 'example.url',
data: {...}
}).done(function(result) {
console.log('', result);
$('#lt1total').val(result);
});
var request2 = $.ajax({
method: 'GET',
url: 'example.url',
data: {...}
}
}).done(function(result) {
console.log('', result);
$('#lt2total').val(result);
});
$.when(request1, request2....., requestn).done(function(){
// set totals here instead of on page load
})