Я создаю динамический список дел. Список загружается из локальной базы данных и отображается в таблице. В каждом todo есть кнопка отправки, которую вы можете нажать, и todo должен регистрироваться в базе данных как «сделанный». В моем коде это делается через переменную с именем status, в которой выполняется значение 1, а значение 0 отменено.Функции AJAX/jquery работают только один раз за pageload
Моя проблема в том, что вы можете нажать любую кнопку, и все работает хорошо; новый статус отправляется скрипту PHP, который, в свою очередь, изменяет значение статуса в базе данных. Затем веб-страница автоматически обновляет таблицу отображения. Но если вы попробуете еще раз, на любой из других кнопок, это не сработает. Вам нужно будет перезагрузить веб-страницу для любой из других кнопок для работы.
Вот мой Jquery/AJAX код:
$(document).ready(function() {
$('#todo_display_table input[type="submit"]').click(function(evt) {
evt.preventDefault();
var todo_id = $(this).val();
//document.write(todo_id);//debug
$.when(changeTodoStatusTo(1, todo_id)).then(updateTodoDisplay);
});
});
function updateTodoDisplay() {
$.post("./daily_todo_display.php", null, replaceTbodyHTML);
}
function replaceTbodyHTML(data) {
$('#todo_display_table tbody').html(data);
}
function changeTodoStatusTo(newStatus, todo_id) {
//Send til phpscript som lagrer ny status i databasen
var parameters = {
todo_id: todo_id,
newStatus: newStatus
};
return $.post("./daily_todo_change_todo_status.php", parameters); //, printDebugInfo);
}
Я могу разместить свои PHP-скрипты, а также, но я проверил их отдельно, и они, кажется, работают. Опять же, все функции на моей странице отлично работают, но они, похоже, перестают работать после того, как вы щелкнули один раз.
Я проверил базу данных, и значение статуса только обновляет себя при первой попытке (первый щелчок любой из кнопок), что указывает на то, что проблема заключается в функции click() или в changeTodoStatusTo() функция. Thnx за любую помощь, и не стесняйтесь спрашивать дополнительную информацию =)
Thnx несколько хороших ответов! – Einar