Jsf 2 jQuery样式的复选框在ajax更新时会丢失其样式
我正在使用p:commandButton显示一个对话框,下面是我的代码: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
<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
中做这件事。您是正确的。@您可以通过单击复选标记接受自己的答案。这向更广泛的社区表明,您已经找到了解决方案。