Я использую jQuery .load(), чтобы заменить div на моей странице таблицей из файла php. Я использую функцию обратного вызова для запуска другой функции, которая изменяет только что загруженные данные, но она запускает функцию до того, как она загрузила таблицу, в результате чего функция ничего не делает.
Есть ли способ заставить callback работать после его загрузки? У меня есть .load() запускается каждые 10 секунд, поэтому я не могу просто сказать, чтобы он подождал.jQuery.load() Функция обратного вызова работает до завершения
Вот что я пытаюсь сделать:
function fixSelected(){
$.each(selected, function(index, value) {
document.getElementById(value).innerHTML = '-';
});
}
function refreshTable() {
$('#tablefill').load('table.php', function(){
fixSelected();
});
}
Переменная selected
представляет собой массив, содержащий идентификаторы нескольких кнопок на столе, который загружается.
Я предпочитаю использовать .ajax (...); где вы можете определить функцию успеха и ошибки. – frenchie
Код, который у вас есть, выглядит правильно. Возможно, вы вызываете 'fixSelected' где-то в другом месте. Просьба представить демонстрацию http://jsfiddle.net/, которая воспроизводит проблему. –
Возможный дубликат функции [JQuery .load() callback] (http://stackoverflow.com/questions/3973933/jquery-load-callback-function) –