嗨,我有一個很大的問題,一直在困擾着我很長一段時間,大多數時候我已經能夠避免它,但現在沒有其他方式。下面是一個函數,執行時會爲每個選中的框發送一個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