Мой случай немного конкретен, и другие ответы пока не сработали. У меня есть страница с формой, когда эта форма заполняется и отправляется, она перенаправляет на другую страницу с определенными запросами в URL, я использую эти запросы для выбора определенных параметров на этой новой странице.
Чтобы найти правильный вариант в форме, пока работает только это:
jQuery('option:contains(' + $query + ')');
Я пытаюсь использовать prop () для изменения выбранной опции, и это работает только визуально:
jQuery('option:contains(' + $query + ')').prop('selected',true).trigger('change');
Это визуально изменит опцию выбора на правильную, но не приведет к изменению, как это делает реальный пользовательский щелчок. триггер («щелчок») тоже не работает.
Это работает при изменении формы и действует как реальный пользовательский клик:
jQuery('option:contains(' + capitalized + ')').attr('selected','selected').trigger('change');
Но только если добавить это, триггер к кнопке, которая сбрасывает форму:
jQuery('.properties__form__reset').trigger('click');
, которая вызывает эту функцию для функции сброса:
$('.properties__form__reset').on('click', function(e) {
$('form').trigger('reset');
$('form').each(function() {
$(this).find(':input')[0].dispatchEvent(new Event('change'));
});
});
Хотя это работает, я прочитал, что лучше не использовать «attr», и это также делает кнопку сброса бессмысленной, поскольку она перестает работать должным образом, и «выбранная» опция, кажется, остается единственной выбранной опцией.
Итак, мой вопрос, как я могу сделать первый вариант с «prop» и имитировать событие реального щелчка?