我有以下内容:
<script language="javascript" type="text/javascript">
$(document).ready(function() {
$.getJSON(
"/myServer/getAllWidgets",
function(data) {
var optionsHTML = "<select id='widget-sel'>";
optionsHTML += "<option selected='selected' id='default'>Select an option</option>";
var len = data.length;
for(var i = 0; i < len; i++) {
optionsHTML += '<option value="' + data[i] + '">'
+ data[i] + '</option>';
}
optionsHTML += "</select>";
$('#widget-sel-div').html(optionsHTML);
}
);
$("#widget-sel").change(function() {
alert("Hello!");
});
});
</script>
<div id="widget-sel-div"></div>
因此,想法是,当document.ready
触发时,它会使用一个选择widget-sel-div
框(widget-sel
通过警报框到屏幕。
当我运行它时,我没有收到任何错误(Firebug 根本不会抱怨),并且选择填充了来自 AJAX 调用的所有小部件/myServer/getAllWidgets
。问题是,更改处理程序不起作用:当我选择一个小部件时,我没有得到警报框。有人能看出我哪里出错了吗?提前致谢。