javascript - 未调用组合框事件

标签 javascript jquery

单击按钮时将显示组合框,并选择组合框。 未调用更改事件。

请让我知道我在哪里犯了错误。

<html>
<head>
<script src="jquery17.js" type="text/javascript"></script>
<script>
  $("select").change(function(){
        alert(this.id);
    });

$(document).ready(function(){
  $("button").click(function(){
   var s = $('<select />');
   var data = {
    'foo': 'bar',
    'foo2': 'baz'
}
for(var val in data) {
   $('<option />', {value: val, text: data[val]}).appendTo(s);
}
s.appendTo('body');
 });
});
</script>
</head>
<body>
<div id="div1"></div>
<button>Get External Content</button>
</body>
</html>

最佳答案

$(document).on("change", "select", function(){
        alert($(this).attr("id"));
});

<select>标签是动态附加的,因此您必须在其上委托(delegate)事件。

关于javascript - 未调用组合框事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14619868/

相关文章:

javascript - 背景页面的 Chrome 扩展程序问题

javascript - 在 Javascript 中测试元素是否为数组

javascript - CSS 悬停未按预期执行

javascript - 正则表达式未按预期工作/(d).\1/

javascript - 为计算输出(货币)添加前缀

javascript - 图表 : How to remove specific label

jquery - RequireJS - 给定某些别名时 jQuery 未定义

jquery - 更改 tr 背景颜色

jquery - 在用户输入时突出显示 d3.js 元素的选择

javascript - 完整日历 - 如何在完整日历的月 View 中向日期添加前导零