6

我有一个选择,我想根据他们在菜单中单击它时选择的内容来运行不同的 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>
4

4 回答 4

7

我建议使用change/onchange事件,尽管这仅在用户选择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);

JS 小提琴演示

重要的是要注意change/onchange事件必须绑定到select元素,不是option元素options 本身不会改变,选择它们会触发改变。

参考:

于 2013-06-17T19:22:45.370 回答
4
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>
于 2013-06-17T19:30:44.620 回答
2

我建议您打开和关闭 jQuery,如下所示:

$('body').on('change', '#yourSelectId', function(){
      // do what you need
});
于 2013-06-17T19:34:16.813 回答
-1

change function()来自jQuery将帮助您做到这一点:

$(document).ready(function(){
$("#yourselectInput").change(function(){

alert("item had change!!");

})
})

活生生的例子

http://jsbin.com/unujiz/1/edit

于 2013-06-17T19:24:56.090 回答