У меня есть приложение jQuery, корзина покупок, которая отправляет информацию обратно на сервер, если поле ввода текста изменено. Это сделано в запросе Ajax. Теперь, если Ajaxrequest будет успешным, я хочу перезагрузить корзину покупок асинхронно. Код выглядит следующим образом:
$(document).ready(function() {
var jInput = $(":input");
jInput.change(function() {
var vareAntal = $(this).val();
var vareID = $(this).siblings("input#vareID").val();
$.ajax({
type: 'POST',
url: 'checkout.aspx',
data: { 'ID': vareID, 'Antal': vareAntal },
success: function() {
$("#newbasket").load(location.href + " #newbasket>*", "");
}
});
});
});
Это работает, но только один раз! Если я изменю поле ввода текста, то после первой загрузки страницы div с идентификатором newbasket перезагружается асинхронно. Но если я попытаюсь изменить это снова, ничего не произойдет.
Я попытался выполнить некоторую отладку с помощью Firebug, и в первый раз, когда я изменяю поле ввода текста, он запускает POST-событие, а затем GET-событие, когда POST-событие успешно. Но после этого ничего не происходит, когда я снова изменяю поле ввода текста.
Итак, как мне добиться запуска метода .load () после каждого изменения ввода текста?
Я также пытался поэкспериментировать с функцией .ajaxComplete (), но это, конечно, привело к бесконечному циклу, поскольку .load () является ajax-объектом.