【问题标题】:Reinitialize jsf custom component after ajax updateajax更新后重新初始化jsf自定义组件
【发布时间】:2014-12-02 14:35:28
【问题描述】:

我有一个基于 JavaScript 的自定义组件,用于在 DOM 完成后对其进行初始化。 但是当我通过 Ajax 调用更新组件时,它将被更新但从未初始化..

我阅读了一些 primeFaces 和 omniFaces 的代码,但这样做似乎不是很简单。

在每次 Ajax 更新后调用 JavaScript 代码重新初始化组件的最佳方法是什么。

编辑:

假设我想将一个 jQuery 插件(如 select2)转换为 jsf 自定义组件,并且我想在每次 ajax 更新后调用 jQuery 方法 $('#myComponentId').select2()

这是我需要的

提前致谢。

【问题讨论】:

  • 最好分享一些代码,比如你目前尝试过的。
  • 你用什么来启动你的ajax(按钮,...)?您使用的是哪个版本的 JSF 和 PrimeFaces?您是否有兴趣使用其他组件库?
  • 我正在 JSF2.2 中构建一个没有任何外部组件库的 jar 库(Web 片段项目),并且我创建了一个从 javax.faces.render.Renderer 扩展的类来构建组件。那么这个类中的代码是什么(我认为这是正确的地方)来完成我的工作。

标签: ajax jsf


【解决方案1】:

我通过在组件之后渲染一个 JavaScript 来重新初始化它来解决这个问题..

示例:

<div id="myComponent" name="myComponent">
   ...
   <script type="text/javascript">
      $("#myComponent").select2();
   </script>
</div>

当组件在 Ajax 调用后更新时,JavaScript 将自动执行

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-07-26
    • 1970-01-01
    • 2015-02-11
    • 1970-01-01
    • 2017-09-17
    • 2017-12-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多