2014-02-25 166 views
0

如何在下拉菜单中选择数值并在选择放开鼠标按钮时显示数值?但不是当我点击小箭头下拉按钮。从下拉菜单中选择数值

HTML:

<select name="menu" id="menu"></select> 

JS:

$("#menu").click(function() { 
    var currentSelection = select.options[select.selectedIndex].value; 
    populate(select.options[select.selectedIndex].value); 

}); 

问题是是,当我从选择菜单中单击向下箭头,它认为我已经点击/已经选择了一个项目,它在那里调用populate()函数。我如何将其更改为仅在选择项目并左键单击后调用populate()?

+0

使用onChange处理(如@Jason普的回答),并在其内部,使用'this.value':'$( “#菜单”)变化(函数(){填充(THIS.VALUE );});' –

回答

2

.change()

$("#menu").change(function() { 
    //code here 
}); 


更好地利用 this Keyword

$("#menu").change(function() { 
    var currentSelection = this.value; 
    populate(this.value); 

}); 
+1

感谢提示Tushar – PhoonOne

+0

@JennyC欢迎高兴地帮助:) –

3

尝试.change()代替:仅

$("#menu").change(function() { 

因此,事件触发的值更改时。

您可以简化内码得:

populate(this.value); 
+0

谢谢杰森,非常有帮助 – PhoonOne

0

试试这个,你需要使用change处理器代替邻˚Fclick处理

$("#menu").change(function() { 
    populate($(this).val()); 
});