我有一个像这样的选择框
<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');
解决方法
您需要以编程方式进行
.trigger()
事件
Execute all handlers and behaviors attached to the matched elements for the given event type.
此外,值区分大小写,因此请使用正确的值.使用奥迪代替奥迪
码,
$('.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>