嗨,我有一个很大的问题,一直在困扰着我很长一段时间,大多数时候我已经能够避免它,但现在没有其他方式。下面是一个函数,执行时会为每个选中的框发送一个post请求。我需要它等到$ .each完成刷新页面。我已经在每个回调函数中使用location.reload进行了测试。在10个选定的盒子中,只有7-8个在$ .each回调中重新加载,如果在$ .each(仍在.click中)之后移动,则处理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(){...}).''这样的操作两次运行选择器。 :o) – user113716 2010-10-13 23:22:53
只是一个旁注:你为什么把这个放在'window'下面?这在本地范围内也会起作用。不需要污染全局名称空间。 – 2010-10-13 23:39:44