триггер («изменить») не работает на Select2 - PullRequest
0 голосов
/ 07 января 2020

Я создал выпадающий список select2 с

    <select class="form-control select2"  id="country">
<option value="1">India</option>
<option value="2">Aus</option>
<option value="3">usa</option>
    </select>

Теперь я выбираю выбранное значение через jquery событие триггера

$('#country').val('1').trigger('change'); 

здесь, страна выбирается с переданным значением, но вкл. это событие, которое я также хочу вызвать событие изменения, которое не запускается.

$("#country").change(function() {
alert('on country change');
});

Если я изменяю вручную с select2, событие изменения запускается, и это показывает предупреждение, но я хочу запустить событие изменения автоматически, когда значение страны меняется с jquery. Любые подсказки?

Спасибо заранее.

1 Ответ

0 голосов
/ 07 января 2020

Вы должны trigger после change функции, как это

$("#country").change(function() {
  alert('on country change');
});

$('#country').val('1').trigger('change');
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.10/js/select2.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.10/css/select2.min.css" rel="stylesheet"/>



<select class="form-control select2"  id="country" style="width: 100px;">
    <option value="1">India</option>
    <option value="2">Aus</option>
    <option value="3">usa</option>
  </select>
...