【问题标题】:primefaces jquery ui tabsprimefaces jquery ui 选项卡
【发布时间】:2015-04-01 23:51:23
【问题描述】:

上下文:尝试直接从 javascript 中在 primefaces 应用程序中使用 jquery ui 插件(选项卡和对话框)(由于某种要求)。

问题:调用时出现“长度未定义”和“未定义不是函数”错误。更具体地说, $("#id").tabs() 正在抛出错误。

我做了什么:在 stackoverflow 中搜索;在控制台中检查了 $.fn.* 和 $.ui.* ;令人惊讶的是,有很多 ui 插件可用(datepicker、droppable、selectable),但似乎缺少对话框和选项卡。 $.ui.version 是 1.11.3。我尝试使用 outputScript 并直接使用

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

提前感谢您的宝贵时间,如果需要,我们会提供更多信息。

【问题讨论】:

  • PrimeFaces 包含 jQuery-UI 组件的自定义(子集)。其他的必须由你添加。并确保从兼容版本中使用它们。兼容 PrimeFaces 使用的 jQuery 版本。
  • 谢谢@Kukeltje,您的回答有助于理解。我已经添加了 jquery-ui.js 1.11.3,它与 1.6+ 及更高版本兼容。 $.ui.version 的值为 1.11.3,它告诉我包含在脚本标记中的那个已经加载,但没有导致包含选项卡和对话框。有没有办法可以单独包含这些插件?再次感谢。
  • 是的,你可以用普通的jquery-ui方式分别包含它们......(我没有详细的线索,对不起)
  • 再次感谢@Kukeltje,包括单独解决了问题。不知道如何接受作为评论的答案:)。

标签: javascript primefaces jquery-ui-dialog jquery-ui-tabs


【解决方案1】:

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

包含它们应该像通常那样包含单独的 jquery-ui 组件或 jquery-ui 兼容的组件,通常通过 javascript 标记加载它们

【讨论】:

  • 这个答案拯救了我的一天。只是为了澄清:我下载了 1.8.23 jquery-ui 的 zip(它似乎与 primefaces 3.5 捆绑在一起),其中包含 jquery.ui.tabs.js 和 jquery.ui.dialog.js(以及相应的 css 文件)。将它们包含在项目中使所有功能都可以正常工作。谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-29
  • 2012-02-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多