我有一个简单的 .change 函数,它可以访问数据库并获取一些值设置一些值等。
$('.linequantity').change(function() {
...
$.getJSON(url, function(data) {
$('#TT-' + lineItem).text(parseFloat(data['price']) * quantity);
});
});
然后我想要的是,在任何行数量发生变化时,我想更新小计。(是的,它是一个目录类型/购物车风格的应用程序)。我的想法是,让我们使用 .each
$('.linequantity').each(function(){
...
var url = "jQueryFunctions.php?action=getPrice&quantity=" + quantity + "&customer=" + customerID + "&item=" + lineItem;
$.getJSON(url, function(data) {
subtotal = subtotal + (parseFloat(data['price']) * quantity);
});
});
$('#subtotal').text(subtotal);
但是,当我这样做时,如果每个甚至都触发的话,我得到的小计为 0。
我已经厌倦了将 .each 放在一个函数中。当我将 .each 移到它自己的函数中时,它会更加一致地触发,但是在 .change 中工作得很好的 getJSON 被跳过了。
在我要求另一个之前,我是否遇到了第一个 json 请求还没有完成的冲突?
我对方法的改变持开放态度,但上述内容有正确的想法/开始。
有任何想法吗?
编辑
数量字段
<input type="text" class="linequantity" id="SQ-<?php echo $value['itemNumber']; ?>" name="Quantity" placeholder="#"/>
总跨度
<span id="subtotal" class="currencyField">$0.00</span>
11:44 编辑:我认为 .each 在 getJson 完成之前就被击中了。在我不使用 jQuery 之前,如何确保 json 请求已完成