【发布时间】:2012-12-07 03:50:43
【问题描述】:
我们在站点网格装饰器 JSP 的标题标签中加载 jquery 脚本,如下所示:
<head>
<script src="${prefix}/resources/js/jquery/jquery-1.7.2.min.js" type="text/javascript"></script>
<script src="${prefix}/resources/js/jquery/jquery-ui-1.8.20.custom.min.js" type="text/javascript"></script>
</head>
现在我正在创建一个自动完成组合框,例如 @http://jqueryui.com/resources/demos/autocomplete/combobox.html
点击标签时,我正在将另一个 jsp 加载到如下对话框中:
$.ajax({
url: <some url>,
success: <create my dialog>
});
对话框中的这个 JSP 也被 sitemesh 修饰,并且在它的标记中具有相同的脚本。 对话工作正常,但现在在这个 ajax 调用之后,我的 combobox() 停止工作并且在控制台上出现错误:
$().combobox 不是函数..
这对我来说是一个紧迫的缺陷。以前有人遇到过这个问题吗?是否与jquery脚本缓存或加载有关?
我们可以在 Firefox 和 IE 9 中重现此问题。
【问题讨论】:
-
您能否展示您的实际代码,或者在 jsFiddle 上展示您的问题的演示?
-
您是否看到任何错误? Javascript 错误?
-
问题是我的组合框 javascript 代码在本地脚本中,并且在 ajax 调用时没有重新加载 js 文件。我将组合框组件代码移动到解决问题的通用 js 中。
标签: jquery autocomplete combobox sitemesh