Witam Mam ogromny problem, który podsłuchiwał mnie przez dłuższy czas, przez większość czasu byłem w stanie tego uniknąć, ale teraz nie ma innego sposobu. Poniżej znajduje się funkcja, która po uruchomieniu wysyła żądanie postu dla każdego zaznaczonego pola. Muszę czekać, aż $ .each skończy się, aby odświeżyć stronę. Przeprowadziłem testy z location.reload w wywołaniu zwrotnym każdego i poza każdym z nich. Z 10 wybranych skrzynek przetwarzane są tylko 7-8 z ponownym doładowaniem w wywołaniach $ .each i 3-4 po przesunięciu po $ .each (nadal wewnątrz .click). Potrzebuję go, aby jakoś poczekać na $ .each, aby zakończyć, a następnie odświeżyć stronę. Czy jest jakiś sposób na zrobienie tego?
$('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();
});
Niezły pomysł na użycie własności 'length'. Prawdopodobnie możesz uniknąć dwukrotnego uruchomienia selektora, wykonując coś w stylu 'window.Remaining = $ ('input: checked') each (function() {...}). Length'. : o) – user113716
tylko jedna uwaga: dlaczego umieszczasz to pod "oknem"? To działałoby równie dobrze w zakresie lokalnym. nie trzeba zanieczyszczać globalnej przestrzeni nazw. –