如何在使用jquery更改选择值时调用选择框?

时间:2015-04-27 07:47:07

标签: javascript jquery select onchange

我有一个像这样的选择框

 <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()函数。我该怎么做?

2 个答案:

答案 0 :(得分:4)

您需要以编程方式.trigger()事件

  

执行附加到给定事件类型的匹配元素的所有处理程序和行为。

此外,值区分大小写,因此请使用正确的值。使用audi代替Audi

代码

$('.cars').val('audi').trigger('change'); 

此外,由于您正在使用绑定事件,例如

$('.cars').on('change', carName); //Or, $('.cars').change(carName);

&#13;
&#13;
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;
&#13;
&#13;

答案 1 :(得分:2)

我想您可能想要添加.change()

$('#cars').change(function() {
 carName();
});