我希望JavaScript函数在用户从菜单中选择项目时接收控件。这是我的实验代码(HTML的相关摘录):
<script>
$(function() {
$(".myselect").on("change", "select", function() {
console.log("TODO");
});
});
</script>
<!-- ... -->
<form method="post" action="">
<select class="myselect">
<option value="A">A</option>
<option value="B">B</option>
</select>
</form>
谁知道这里有什么问题? (此时,永远不会调用事件处理程序。)
答案 0 :(得分:2)
您正在使用委托处理程序,但主要和次要选择器是相同的元素,因此它不起作用。如果需要委托事件处理程序(因为在onload触发后将select
元素添加到DOM),则需要将主选择器设置为静态父元素,如下所示:
$(document).on('change', '.myselect', function() {
console.log('TODO');
});
否则,您可以使用标准事件处理程序:
$('.myselect').change(function() {
console.log('TODO');
});
答案 1 :(得分:1)
Fiddle你可以试试这个。
$(".myselect").change( function() {
alert("TODO");
});
$(document).on("change", ".myselect", function() {
alert("TODO");
});
答案 2 :(得分:1)
你也可以尝试这个: 如果你想得到这个值:
$('.myselect').on('change', function(){
var value = this.value;
alert(value);
});