我有一个这样的选择框
<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()
函数是called.How,我能这样做吗?
发布于 2015-04-27 07:48:26
您需要以编程方式.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>
发布于 2015-04-27 07:53:44
我想你可能想加入.change()
$('#cars').change(function() {
carName();
});
https://stackoverflow.com/questions/29889984
复制相似问题