如何检测用户何时点击下拉菜单中的选项(选择标记)

avo*_*rum 3 html javascript select

我有一个选择,我想运行一个不同的JavaScript函数,具体取决于他们在菜单中单击它时选择的内容.我的谷歌搜索一直没有用,有人能指引我到正确的房产吗?(例如,我知道onclick适用于按钮).在此先感谢您的帮助!

编辑:onchange在我的代码中不起作用.

<head>
    <script>
        function goToDelete(){
            document.write("Death to this webpage!")
        }
    </script>
</head>
<form id="checkboxes" method="post" action="someurl">
    <tr>
        <td><input type="checkbox" name="Selection"/></td>
        <td>Some more rows to the table here</td>
    </tr>
    <select name="action">
        <option value="Delete" onchange="goToDelete()">Delete</option>
    </select>
Run Code Online (Sandbox Code Playgroud)

Dav*_*mas 6

我建议使用change/ onchangeevent,尽管只有当用户选择option之前未选择的(因此名称)时才会触发.

简单演示如何使用change(在Chrome 27/Windows XP中测试):

var select = document.getElementById('demo');

function logValue() {
    switch (this.value) {
        case '1':
            console.log('option 1 selected');
            break;
        case '2':
            alert('option 2 selected');
            break;
        case '3':
            confirm('You chose option 3, didn\'t you?');
            break;
    }
}

select.addEventListener('change', logValue, false);
Run Code Online (Sandbox Code Playgroud)

JS小提琴演示.

值得注意的是,这一点很重要change/ onchange事件必须绑定到的select元素,没有option元素.该optionš本身并没有改变,选择它们触发的变化.

参考文献:


Ani*_*Ani 5

function SelectedValue(sel) {
    var value = sel.options[sel.selectedIndex].value;  
    //Do something depending on value
}
<select id="myid" onchange="SelectedValue(this)">
    <option value="">Select options</option>
    <option value="Value1">Text1</option>
    <option value="Value2">Text2</option>
    <option value="Value3">Text3</option>
</select>
Run Code Online (Sandbox Code Playgroud)