问题描述

HTML “select” 元素是否有一个 on select 事件?事件的名称究竟是什么?

最佳解决方案

onchange 您正在寻找什么?

次佳解决方案

还有一点值得一提的是,如果选择没有改变,这不会触发 (看起来不言自明) 。据我所知,当用户下拉选择框,然后重新选择原始值时,没有任何事件触发。

第三种解决方案

它是 onchange Event

jQuery 包装在.change 帮助器中。如果使用简单的 Javascript 然后使用 addEventListner('change', function...)

<html>
<head>
    <script type="text/javascript" src="jquery-1.2.6.js"></script>
    <script type="text/javascript">

// If using jQuery
$(document).ready( function() {
    $("#list").attr( "selectedIndex", -1 );
    $("#list").change( function() {
        $("#answer").text( $("#list option:selected").val() );
    });
});
    </script>

    <script type="text/javascript">

// Plain Javascript:
document.addEventListener('DOMContentLoaded', function(event) {
    var selectList = document.getElementById("list");
    var divAnswer  = document.getElementById("answer");
    selectList.addEventListener("change", function(changeEvent) {
        divAnswer.textContent = selectList.value;
    });
});
    </script>

</head>
<body>
    <div id="answer">No answer</div>
    <form>
        Answer
        <select id="list">
            <option value="Answer A">A</option>
            <option value="Answer B">B</option>
            <option value="Answer C">C</option>
        </select>
    </form>
</body>
</html>

第四种方案

无论输入类型如何,每当表单输入更改值时,都应始终抛出 onchange 事件。 (除了按钮,因为它们不是真的输入设备) 。

参考文献

注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛