У меня есть страница со списком элементов, изначально загруженных из строки include_once('show_calendarV2.php');
.Функции jquery не работают должным образом после .html reload
Рядом с каждым элементом находится значок удаления, который запускает следующий jquery, чтобы удалить элемент из базы данных, а затем обновить страницу.
$('.delete_schedule_item').click(function() {
var id = $(this).next('input[type=hidden]').attr('value');
alert (id);
$.ajax({
url: 'ajax/delete_schedule_item.php',
type: 'post',
data: { id: id },
dataType: 'json', // get back status of request in JSON
success: function(data)
{
//alert('item deleted');
}
// if (data.status) {
// alert('success');
// }
// else {
// alert('error');
// },
//... other parameters/callbacks ...
});
$.get('show_calendarV2.php', {},
function(data)
{
//load the calendar data
$("#calendar").html(data);
});
});
Все работает отлично при удалении элемента. Элемент удален. Новая страница загружается.
Но после загрузки страницы кнопки удаления? jquery звонки? больше не функционируют.
Эта же страница используется для создания начального дисплея, а также обновленного, поэтому не знаю, почему код не работает.
Идеи?
Wooo. Что это такое. Live и почему .click работает только один раз? – ian
Вот документация для него. Это объясняет это довольно хорошо. http://docs.jquery.com/Events/live.По сути, он использует делегирование делегирования элементу-предшественнику, который обрабатывает событие click и ищет, где он произошел, и если он произошел над чем-то, что соответствует вашему селектору, то это все. – womp
Хорошо, так что в отличие от обычного javascript, где и onclick может случиться каждый раз, когда его щелкают ... потому что этот jquery и внутри функции onready() это происходит только один раз, если я не использую функцию live(). – ian