触发器('change')不适用于 Select

trigger('change') is not working on Select

我用

创建了一个 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 更改时自动触发更改事件。有什么线索吗?

提前致谢。

你应该在 change 函数之后 trigger,像这样

$("#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>