как вызвать select box on change при изменении значения select с помощью jquery?
У меня есть окно выбора, подобное этому
<select class="cars" onChange="carName()">
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="mercedes">Mercedes</option>
<option value="audi">Audi</option>
</select>
Если я изменяю выпадающие значения carName функция вызывает и работает, как ожидалось. Если предположим, что я изменяю значение с помощью jQuery следующим образом
$('.cars').val('Audi');
Я хочу, чтобы эта функция carName() была вызвана.Как я могу это сделать?
2 ответов:
Вам нужно
.trigger()событие программноВыполнить все обработчики и поведения, прикрепленные к соответствующим элементам для данного типа события.
Кроме того, значение чувствительно к регистру, поэтому используйте правильное значение. используйте
audiвместоAudiкод ,
$('.cars').val('audi').trigger('change');Также, поскольку вы используете jquery bind event, используя его как
$('.cars').on('change', carName); //Or, $('.cars').change(carName);
function carName() { alert('In carName function'); } $(document).ready(function() { $('.cars').val('audi').trigger('change'); });<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <select class="cars" onChange="carName()"> <option value="volvo">Volvo</option> <option value="saab">Saab</option> <option value="mercedes">Mercedes</option> <option value="audi">Audi</option> </select>
Comments