嗨,我有一个困扰了我很长时间的大问题,大多数时候我都能够避免它,但现在别无选择。下面是一个函数,当执行时,会为每个选中的复选框发送一个post请求。我需要它等待$.each完成后再刷新页面。我已经在每个回调函数中使用location.reload和在$.each之外测试了刷新页面。如果将其移动到$.each之后(仍然在.click内),则只处理10个选择框中的7-8个并且处理3-4个。我需要它等待$.each完成后再刷新页面。有没有办法做到这一点?
$('button.moveToTable').click(function(event){
$("input:checked").each(function(){
$.post('/table/move-to-table',
{orderID: $(this).val(),
tableID: $('#moveToTableID').val()
},
function(data){
location.reload();
});
});
//location.reload();
});
length
属性的想法很好。你可以通过这样做来避免两次运行选择器:window.Remaining = $('input:checked').each(function() { ... }).length
。 :o) - user113716window
下面呢?这样在局部作用域中同样有效。没必要污染全局命名空间。 - Chris Broadfoot