触发器('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>
我用
创建了一个 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>