我有一个像这样的选择框
<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()
函数。我该怎么做?
答案 0 :(得分:4)
您需要以编程方式.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');
});
&#13;
<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>
&#13;
答案 1 :(得分:2)
我想您可能想要添加.change()
$('#cars').change(function() {
carName();
});