在<;上运行Javascript函数;选项>;点击

在<;上运行Javascript函数;选项>;点击,javascript,Javascript,当用户单击下拉菜单中的某个时,是否有办法执行javascript函数?元素支持onchange事件 您可以使用更改事件检查用户单击的选项,然后执行所需的代码 在Jquery中: $('#yourSelect').change(function(){ var item = $(this).val(); if (item === "Specified Choice") { //do your stuff here } }); 您需要钩住元素的onc

当用户单击
下拉菜单中的某个
时,是否有办法执行javascript函数?

元素支持
onchange
事件


您可以使用
更改
事件检查用户单击的选项,然后执行所需的代码

在Jquery中:

$('#yourSelect').change(function(){
    var item = $(this).val();

    if (item === "Specified Choice")
    {
        //do your stuff here
    }
});

您需要钩住
元素的
onchange
事件,并检查值。您试过了吗?

中,您可以使用
onclick
事件指定要执行的javascript函数

例如


您的HTML将如下所示:

<select onchange="functionName(this.value)">
    <option value="1"> 1 </option>
    <option value="2"> 2 </option>
    <option value="3"> 3 </option>
</select>​

1.
2.
3.
​
在JavaScript中,您将拥有一个函数(例如:
functionName()

您可以使用该函数对每种情况进行测试。

在项目中使用Jquery

HTML代码:

<select id="myselect">
    <option value="">Select</option>
    <option value="1">StactOverFlow</option>
    <option value="2">SuperUser</option>
    <option value="3">Another 1</option>
    <option value="4">Another 2</option>
    <option value="5">Another 3</option>
</select>
您甚至可以使用
观察行动:

享受吧

这里:

elem.onclick = function ( e ) {
    if ( e.target.tagName.toLowerCase() === 'option' ) {
        // an <option> element was clicked
        // do your thing
    }
};
elem.onclick=函数(e){
if(e.target.tagName.toLowerCase()=='选项'){
//单击了一个元素
//做你的事
}
};
其中
elem
是您选择的元素


现场演示:

似乎当有人没有特别要求JQuery回答时,用普通javascript回答会更友好。当然,我这么说只是因为我不是你所说的那种jquery类型的人。我确实意识到了这一点,我过去也不是jquery类型的人。但我已经有一段时间没有使用Jquery了,老实说,我再也不知道如何在vanilla JS中实现这一点了。@Residence看起来像个Chrome bug。我会报告的。可能是重复的
$("#myselect").bind('change', function(){
    switch($(this).val()){
        case "1":
            click_action_1();
            break;

        case "2":
            click_action_2();
            break;

        case "3":
            click_action_3();
            break;
    }
});

function click_action_1(){
    alert('Hi 1');
}         

function click_action_2(){
    alert('Hi 2');
}      

function click_action_3(){
    alert('Hi 3');
}
​
elem.onclick = function ( e ) {
    if ( e.target.tagName.toLowerCase() === 'option' ) {
        // an <option> element was clicked
        // do your thing
    }
};