0

使用角度、select2 小部件。我在 HTML 中声明它是这样的:

<div>
    <select id = "dropdown"
       ...
       <option value = "1" id="1">1</option>
       <option value = "2" id="2" >2</option>
       <option value = "3" id="3"" >3</option>
    /select>
</div

并希望以编程方式更改所选项目(从另一个函数调用)。

调用代码时:

 $("#dropdown").select2().select2('val', "3")

我可以看到下拉列表中的值发生了变化,但是当实际访问下拉列表的模型属性(以获取所选项目)时,它没有设置为我尝试设置的值。

检查下拉列表的 onChange 事件时,我可以看到 e.val 未定义。

以下一个小提琴为例(单击链接后,我不认为在警报框中会出现“未定义”):http: //jsfiddle.net/kcArV/1/

任何想法我做错了什么?

4

1 回答 1

2

它应该是

$('#attribute').select2().on('change', function(e) {
    alert($(this).val());    
});

e是事件对象,不是select控件,方法上下文this指向select元素,所以可以调用.val()获取选中值

演示:小提琴

于 2013-04-22T08:23:56.650 回答