jQuery change() не работает если значение изменено используя jQuery
Делая сайт-каталог в котором нужно было реализовать ajax фильтр по каталогу - форма, в которой много-много всяких radiobutton-ов и checkbox-ов, при нажатии на которые сразу должны подгружаться отфильтрованные товары. Для этого я на форму повесил .change и все отлично работало до тех пор пока мне не понадобилось добавить ползунки для изменения диапазона цен наглядным образом, с ползунками проблем не было, они в callback функции возвращали мне новый диапазон цен, которые я планировал вставить в hidden input, но не тут то было, значения вставлялись, но событие .change не срабатывало. Немного погуглив нашел решение...
И так раньше у меня был примерно такой код.
$(document).ready(function () { $('#filtres_form').change(function () { alert("change сработал") }); $("#filtres_form input#min_price").val(100500); });
Но никакого алерта я не видел. Вот решение:
$(document).ready(function () { $('#filtres_form').change(function () { alert("change сработал") }); $("#filtres_form input#min_price").val(100500).change(); });
В общем после изменения значения нужно тупо дописать .change() и все работает
5 комментариев
$(document).ready(function() {
$("#sel").change(function () {
alert (’сработал’);
});
$("#sel").change();
});
Все запросы ведь видны) Причем на этой странице где я оставил коммент
Вы можете оставить комментарий