как вызвать 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() была вызвана.Как я могу это сделать?

559   2  

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>

Я думаю, что вы можете добавить .change()

$('#cars').change(function() {
 carName();
});

Comments

    Ничего не найдено.