Есть
<select name="test" class="select-test-1">
<option value="1">Some text</option>
<option value="2">Some text</option>
<option value="3">Some text</option>
<option value="4">Some text</option>
<option value="5">Some text</option>
</select>
Нужно при выборе элемента, получить его value (там хранится ID поста в Wordpress) и с помощью AJAX передать его в обработчик. Код работает, но срабатывает только один раз - первый, в дальнейшем после выбора другого элемента тега <select>
перезагрузка не происходит. Пробовал этот же код без AJAX в консоль выводится каждый раз значение при выборе другого элемента из списка, с AJAX не работает. Не сильно с ним знаком, т.ч. вполне подозреваю что сделал что-то не так.
$('.select-test-1').on('change', function() {
var selected = $(this).val();
$.ajax({
url: '<?php echo admin_url("admin-ajax.php") ?>',
type: 'POST',
data: {
action: 'myajax',
postID: selected
},
beforeSend: function(xhr) {},
success: function(data) {
$('.card-item-1').html(data);
},
error: function() {
alert('Error');
}
});
});
но срабатывает только один раз
Элемент '.select-test-1'
находится внутри '.card-item-1'
. При назначении $('.card-item-1').html(data);
все элементы внутри '.card-item-1'
создаются заново - а старые (со своими событиями) уничтожаются. Используйте делегирование при назначении события:
$(document).on('change', '.select-test-1', function() {
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Делаю сокрытие столбцов таблицы по чекбоксамJS код взял отсюда
Есть ли вообще способы отправить кроссдоменный запрос на JavaScript? Может быть как-нибудь через атрибут src? PS