0

我有下面的选择下拉菜单:

 <select id="select-param-num">
 <option value='0'>0</option>
 <option value='1'>1</option>
 <option value='2'>2</option>
 </select>

我有下面的触发器,当用户更改所选选项时更新我页面上的内容:(我首先调用它)

$('#select-param-num').change(function () {    
    //update stuff
});

然后在我的初始化中,我将下拉菜单设置为一个特定的值,如下所示:

$("select#select-param-num option[value=2]").attr('selected', true);

我原以为会调用 .change() 来自动更新我的页面,但事实并非如此。

你有什么建议让它发生吗?

谢谢

4

4 回答 4

3

只需触发事件,有 3 种方式:

$('#select-param-num').change(); //same as .trigger('change')
$('#select-param-num').trigger('change'); //same as .change()
$('#select-param-num').triggerHandler('change'); //same as others but just because change event doesn't bubble
于 2013-06-20T09:37:19.540 回答
0

用于.triggerHandler运行您的事件处理代码:

$("#select-param-num").triggerHandler('change');

您也不应该使用.attr来设置下拉菜单的值。改为这样做:

$("#select-param-num").val("2");
于 2013-06-20T09:37:41.913 回答
0

您可以为此使用触发器。

$('#select-param-num').trigger('change');

。扳机()

于 2013-06-20T09:37:49.300 回答
0

在您的选择中,没有 value=6 的选项。如果您添加它并更改一些代码,它就可以工作。看看这里:http: //jsfiddle.net/sjJkN/

代码

$('#select-param-num').change(function () {    
    $("select#select-param-num option[value=6]").attr('selected', 'selected');
}); 
于 2013-06-20T09:39:07.340 回答