Jsf 2 jQuery样式的复选框在ajax更新时会丢失其样式

Jsf 2 jQuery样式的复选框在ajax更新时会丢失其样式,jsf-2,primefaces,Jsf 2,Primefaces,我正在使用p:commandButton显示一个对话框,下面是我的代码: <h:panelGroup layout="block" styleClass="actions"> <h:form> <p:commandButton value="Select" styleClass="select" action="#{antecedants.initFA('hyper',1)}" update=":dialog" oncomplet

我正在使用p:commandButton显示一个对话框,下面是我的代码:

<h:panelGroup layout="block" styleClass="actions">
  <h:form>
    <p:commandButton value="Select" styleClass="select"
      action="#{antecedants.initFA('hyper',1)}"
      update=":dialog" oncomplete="select_hyper.show()"/>
  </h:form> 
</h:panelGroup>

该对话框包含h:selectManyCheckbox,我使用css自定义了复选框图标。 问题是,当我打开对话框时,它会以默认的复选框图标而不是自定义的图标打开,当我从commandButton中删除update=“:dialog”时,它工作正常,我会看到带有自定义图标的复选框。
我需要保持更新。有什么帮助吗?

以下是我的做法和工作原理:在打开我添加的对话框的p:commandButton中,完成对放置正确样式的style_checkbox()JQuery函数的调用

<p:commandButton value="Select" styleClass="select" action="#{ant('mr',1)}"update=":dialog21"oncomplete="select_maladiesRenales.show();style_checkboxes();"/>


谢谢大家的帮助。

您确定只有css自定义复选框图标吗?似乎有一些javascript代码在做这件事,但它并没有放在对话框中,因此它不会在更新操作后运行。为什么不尝试将您拥有的内容包装到对话框中,并更新包装器而不是对话框本身?@tt_emrah是的,您是对的,有一些javascript代码正在执行此操作,javascript代码是从我用作模板的另一个xhtml页面调用的。我如何在更新中再次调用它?将该js代码包装到另一个
h:panelGroup
,给该panelGroup一个id,并在
:dialog
之后与
:dialog
一起更新。我想……:)我不知道为什么我错过了在
oncomplete
中做这件事。您是正确的。@您可以通过单击复选标记接受自己的答案。这向更广泛的社区表明,您已经找到了解决方案。