【问题标题】:Select the value from a drop down menu从下拉菜单中选择值
【发布时间】:2014-02-25 15:32:07
【问题描述】:

当我选择放开鼠标按钮的项目时,如何让我的下拉菜单选择值并显示它?但不是当我单击小箭头下拉按钮时。

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()?

【问题讨论】:

  • 使用 onchange 处理程序(作为@Jason P 的答案)并在其中使用this.value:$("#menu").change(function () {populate(this.value);});

标签: javascript jquery


【解决方案1】:

改用.change()

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

所以该事件仅在值更改时触发。

你也可以简化你的内部代码:

populate(this.value);

【讨论】:

  • 谢谢杰森,非常有帮助
【解决方案2】:

.change()

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


更好地使用this Keyword
$("#menu").change(function () {
    var currentSelection = this.value;
    populate(this.value);

});

【讨论】:

  • 感谢 Tushar 的提示
  • @JennyC 欢迎 乐于助人 :)
【解决方案3】:

试试这个,你需要使用change处理程序而不是click处理程序

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

【讨论】:

    猜你喜欢
    • 2019-07-30
    • 1970-01-01
    • 2020-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多