2015-04-01 122 views
0

上下文:试图在jquery ui插件(标签和对话框)直接从javascript(由于某些要求)在primefaces应用程序中使用。primefaces jquery ui标签

问题:在通话中获取'未定义长度'和'未定义不是函数'错误。更具体地说,$(“#id”)。tabs()会抛出错误。

我做了什么:在stackoverflow中搜索;在控制台中检查$ .fn。*和$ .ui。*。令人惊讶的是有很多UI插件可用(datepicker,droppable,可选),但对话框和选项卡似乎不见了。 $ .ui.version是1.11.3。我尝试使用outputScript,并直接<脚本>标签包含jquery ui,但似乎没有包含这些插件;尝试noConflict。

附加信息:它在某个时间点间歇性地工作..不知道是什么导致它工作,什么是阻止它现在工作。花了很多时间解决这个问题。

提前感谢您的时间,如有需要,我们会放弃其他信息。

+0

PrimeFaces包含自定义(子集)的jQuery的UI组件。其他人必须由您添加。并确保您从兼容版本使用它们。与PrimeFaces使用的jQuery版本兼容。 – Kukeltje 2015-04-01 14:18:54

+0

谢谢@Kukeltje,你的回答有助于理解。我已经添加了jquery-ui.js 1.11.3,它与1.6+以上版本兼容。 $ .ui.version的值为1.11.3,它告诉我包含脚本标记的那个已经加载,但没有导致包含标签和对话框。有没有一种方法可以分别包含这些插件?再次感谢。 – zrini 2015-04-01 14:35:45

+0

是的,你可以包括他们分开在正常的jquery-ui方式...(我没有详细的线索,对不起) – Kukeltje 2015-04-01 14:43:39

回答

1

PrimeFaces包含一个自定义(子集)的jQuery-UI组件。其他人必须由您添加。并确保您从兼容版本使用它们。与PrimeFaces使用的jQuery版本兼容。

包括他们应该做的事就像你通常会包括独立的jQuery UI组件或jQuery的用户界面兼容那些通过正常通过JavaScript代码加载它们

+2

这个答案拯救了我的一天。只是为了澄清:我下载了包含jquery.ui.tabs.js和jquery.ui.dialog.js(以及相应的css文件)的1.8.23 jquery-ui(似乎与primefaces 3.5捆绑在一起)的zip。将他们包括在项目中使所有功能都可以工作。谢谢! – zrini 2015-04-01 16:05:21

+0

不客气 – Kukeltje 2015-04-01 16:05:50