Событие изменения триггера <select> с помощью jquery
есть ли в любом случае я мог бы вызвать событие изменения в поле выбора при загрузке страницы и выбрать конкретную опцию.
Также функция выполняется путем добавления триггера после привязки функции к событию.
Я пытался вывести что-то вроде этого
<select class="check">
<option value="one">one</option>
<option value="two">two</option>
</select>
$(function(){
$('.check').trigger('change'); //This event will fire the change event.
$('.check').change(function(){
var data= $(this).val();
alert(data);
});
});
http://jsfiddle.net/v7QWd/1/
Ответы
Ответ 1
Используйте val()
, чтобы изменить значение (а не текст) и trigger()
, чтобы вручную запустить событие.
Обработчик события изменения должен быть объявлен перед триггером.
Вот пример
$('.check').change(function(){
var data= $(this).val();
alert(data);
});
$('.check')
.val('two')
.trigger('change');
Ответ 2
Чтобы выбрать параметр, используйте .val('value-of-the-option')
в элементе select. Чтобы вызвать элемент изменения, используйте .change()
или .trigger('change')
.
Проблемы в вашем коде - это запятая вместо точки в $('.check'),trigger('change');
и тот факт, что вы вызываете ее перед привязкой обработчика события.
Ответ 3
$('#edit_user_details').find('select').trigger('change');
Он изменит раскрывающийся элемент тега выберите html тег < <21 > .
Ответ 4
Приведите ссылки в значении тега option
<select size="1" name="links" onchange="window.location.href=this.value;">
<option value="http://www.google.com">Google</option>
<option value="http://www.yahoo.com">Yahoo</option>
</select>
Ответ 5
Если вы хотите сделать некоторые проверки, используйте этот способ
<select size="1" name="links" onchange="functionToTriggerClick(this.value)">
<option value="">Select a Search Engine</option>
<option value="http://www.google.com">Google</option>
<option value="http://www.yahoo.com">Yahoo</option>
</select>
<script>
function functionToTriggerClick(link) {
if(link != ''){
window.location.href=link;
}
}
</script>
Ответ 6
Другое рабочее решение для тех, кто был заблокирован с помощью обработчика триггера jQuery, которое запускает огонь на нативных событиях, будет как ниже (100% работает):
var sortBySelect = document.querySelector("select.your-class");
sortBySelect.value = "new value";
sortBySelect.dispatchEvent(new Event("change"));