我在使用 primefaces 自动完成组件时遇到问题。当触发 ia 得到错误 $ui. 是未定义的,甚至没有调用支持 bean。
我的代码是:
<p:autoComplete completeMethod="#{auto.uliList}" value="#{naroc.ulValue}"></p:autoComplete>
非常感谢您的帮助!
我在使用 primefaces 自动完成组件时遇到问题。当触发 ia 得到错误 $ui. 是未定义的,甚至没有调用支持 bean。
我的代码是:
<p:autoComplete completeMethod="#{auto.uliList}" value="#{naroc.ulValue}"></p:autoComplete>
非常感谢您的帮助!
这可以识别为 jQuery / jQuery UI 冲突。
PrimeFaces 已经自带了 jQuery 和 jQuery UI 库。如果您通过自定义<script>
or手动包含 jQuery 和/或 jQuery UI <h:outputScript>
,那么它只会与 PrimeFaces 提供的冲突并导致这种“foo is undefined”错误。您应该从页面(和您的 web 应用程序)中删除手动包含的 jQuery 脚本,并改用 PrimeFaces 提供的脚本。
如果您的页面不一定使用 PrimeFaces 组件(因此其捆绑的 jQuery 脚本不一定会自动包含在每个页面上),那么您需要明确指定 PrimeFaces 自己的 jQuery:
<h:outputScript library="primefaces" name="jquery/jquery.js" />
我只是设法解决了我的问题。这很简单但很有效。因此,如果您遇到与我类似的问题,只需将此代码添加到您的页面标题:
<h:outputScript target="head">
jQuery.noConflict();
</h:outputScript>