【问题标题】:how can i call select box on change while changing select value using jquery?如何在使用 jquery 更改选择值时调用更改选择框?
【发布时间】:2015-07-05 13:35:26
【问题描述】:
我有一个这样的选择框
<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() 函数。我该怎么做?
【问题讨论】:
标签:
javascript
jquery
select
onchange
【解决方案1】:
您需要以编程方式.trigger() 事件
执行所有附加到给定事件类型的匹配元素的处理程序和行为。
此外,值区分大小写,因此请使用正确的值。使用audi 而不是Audi
代码,
$('.cars').val('audi').trigger('change');
另外,由于您正在使用 jquery 绑定事件,因此使用它就像
$('.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>
【解决方案2】:
我想你可能想添加.change()
$('#cars').change(function() {
carName();
});