我正在使用 jQUery AJAX 调用来分配表格单元格的值。该单元格是小计 mysubtotalB。这很好用,因为您可以清楚地看到结果。然而,在成功函数的末尾,包含了对另一个 jQuery 函数的调用。下一个函数应该获取刚刚分配给 mysubtotalB 的新值并将其添加到 Total A/表格单元格 mysubtotalA。
奇怪的是,即使在屏幕上将新值分配给 mysubtotalB 之后,通过 jQuery 语句返回的值还是 0,或原始值。玩了一会儿,我注意到如果我运行第二个 AJAX 调用并为 mysubtotalB 分配另一个值,我得到了以前的值。也就是说,jQuery 赋值返回的值总是一个旧值。猜测可能 DOM 在第一次调用时没有更新,或者可能与执行顺序有关,即使总数是在调用第二个函数之前分配的。
有谁知道这是为什么以及如何处理它。
<table>
<tr>
<th>Total A</th>
<td id='mysubtotalA'>0.00</td><!-- default state when page loads -->
</tr>
<tr>
<th>Total B</th>
<td id='mysubtotalB'>0.00<td><!-- default state when page loads -->
</tr>
<tr>
<th>Grand total</th>
<td id='mygrandtotal'>0.00<td><!-- default state when page loads -->
</tr>
</table>
$.ajax({
...
success: function(returned){
$('#mysubtotalB').html(returned);//works fine returned value now on screen in mysubtotalB
}
)};
<script>
...
var theReturnedValue = $('#mysubtotalB').html();
alert('theReturnedValue');// outputs "0" the first default value
</script>