<option> 上的 Javascript 运行功能单击

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/10002826/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-10-26 08:27:28  来源:igfitidea点击:

Javascript run function on <option> click

javascript

提问by Proffesor

Is there a way to execute a javascript function when the user clicks on a certain <option>within a <select>drop down menu?

有没有执行JavaScript函数时,在某个用户点击的方式<option>一中的<select>下拉菜单?

回答by bhamlin

<select>elements support the onchangeevent.

<select>元素支持onchange事件。

http://w3schools.com/jsref/event_onchange.asp

http://w3schools.com/jsref/event_onchange.asp

回答by Lil' Bits

You HTML would look like this:

你的 HTML 看起来像这样:

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

In your JavaScript, you would have a function ( ex: functionName()) and you would use that function to test for each case.

在您的 JavaScript 中,您将拥有一个函数(例如:)functionName()并且您将使用该函数来测试每种情况。

回答by ?ime Vidas

Here:

这里:

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

where elemis your SELECT element.

elem你的 SELECT 元素在哪里。

Live demo:http://jsfiddle.net/vBB7a/

现场演示:http : //jsfiddle.net/vBB7a/

回答by xbonez

You can use the changeevent to check which option the user clicked on and then execute your desired code.

您可以使用该change事件来检查用户单击了哪个选项,然后执行您想要的代码。

In Jquery:

在 Jquery 中:

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

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

回答by uotonyh

You need to hook the onchangeevent of the <select>element, and check the value. Have you tried that?

您需要挂钩元素的onchange事件<select>,并检查值。你试过吗?

回答by FrogInABox

Inside your <option>you could use the onclickevent to specify a javascript function to be executed.

在您的内部,您<option>可以使用该onclick事件来指定要执行的 javascript 函数。

E.g.

例如

<option onclick="yourFunction()">

回答by Shahrukh

Use Jquery in your Project..

在您的项目中使用 Jquery ..

HTML Code:

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>

JQuery Code:

查询代码:

$("#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');
}
?

You can even execute a new javascript function with a <option>Watch in Action: http://jsfiddle.net/extremerose71/PnfCk/8/

您甚至可以使用<option>Watch in Action执行新的 javascript 函数:http: //jsfiddle.net/extremerose71/PnfCk/8/

Enjoy!...

享受!...