我有 DIV,里面有一个从 JQuery 示例复制的自动完成小部件:http: //jqueryui.com/resources/demos/autocomplete/default.html
按下按钮时,DIV 的内容被新的 HTML 替换,HEADER 包含动态生成的 Javascript 以初始化自动完成
<head> ..
<script>
$(function() {
var availableTags = [
"ActionScript",
"AppleScript",
"Scala",
"Scheme"
];
$( "#tags" ).autocomplete({
source: availableTags
});
});
我的问题是: $(function()) 在 DIV == autocomplete 的后续重新加载不起作用时未进行评估。
意外惊喜,DIV 没有“就绪”事件
请告知如何重新初始化自动完成代码。
主页包含一个 PROJECT 选择器,在更改时将重新加载 DIV,其中包含动态生成的详细信息,包括自动完成小部件。
<html>
<head>
<script>
function refresh_div() {
..
document.getElementById(DYNA_DIV).innerHTML = self.xmlHttpReq.responseText;
}
</script>
</head>
<body>
<select id=PROJECT_ID onchange="refresh_div()" ..>
<div id="DYNA_DIV"> ..here is dynamically generated form with autocomplete widget containing items related to the PROJECT selected above</div>
</body>
</html>
DIV 的 HTML 如下所示。按照建议剥离 HTML、HEAD、BODY
首先加载自动完成工作。刷新 DIV 的内容时,下面的初始化脚本不运行
.. <input type="text" name="AUTOCOMP"> ..
<script>
$(function() {
var availableItems = [ <% dynamically enumerate items for PROECT_ID %> ];
$( "#AUTOCOMP" ).autocomplete({
source: availableItems
});
});
</script>
-亚历克斯