计算只读输入的动态值总和。 Jquery和AJAX

时间:2016-12-13 01:52:50

标签: javascript jquery html ajax

所以我的表单已完成,我需要根据用户选择计算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我陷入困境并加剧。任何帮助或方向将不胜感激。

1 个答案:

答案 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
})