我想从字段集外部和内部的按钮展开/折叠字段集,问题是并不总是效果是所需的效果。有时候,现场组会在眨眼间膨胀和坍塌,有时候它总是保持开放状态。但是,如果点击另一个按钮与字段集无关,则似乎"重置"状态和按钮开始工作一段时间,直到例如表单验证失败。 这是整个XHTML。 我怀疑这是因为任何AJAX问题
非常感谢
<p:fieldset id="fs_new_po"
widgetVar="fs_new_po"
legend="#{msg['btn_add_po.manage_po']}"
toggleable="true"
toggleSpeed="500"
collapsed="true">
....
<p:column>
<p:commandButton process="@this"
update=":mng_po:fs_new_po :mng_po:msgs"
value="#{msg['btnCancel']}"
onclick="PF('fs_new_po').toggle();"
actionListener="#{managePO.btnCancelClick}"/>
</p:column>
</p:row>
</p:panelGrid>
</p:fieldset>
...
<p:commandButton process="@this"
update=":mng_po:fs_new_po"
oncomplete="PF('fs_new_po').toggle();"
icon="ui-icon-pencil"
title="edit"
action="#{managePO.btnEditClick}">
<f:setPropertyActionListener value="#{po}" target="#{managePO.selectedPo}"/>
</p:commandButton>
答案 0 :(得分:2)
根据Tiny的建议,我更新了onclick事件,只是可以更改字段集的内容。
<p:fieldset id="fs_new_po"
widgetVar="fs_new_po"
legend="#{msg['btn_add_po.manage_po']}"
toggleable="true"
toggleSpeed="500"
collapsed="true">
//ADDED A CONTENT INSIDE THE FIELDSET TO BE UPDATED
<p:panelGrid id="fs_cntnt">
....
<p:column>
//UPDATE JUST THE CONTENT OF THE FIELDSET
<p:commandButton process="@this" update=":mng_po:fs_cntnt :mng_po:msgs" value="# {msg['btnCancel']}" onclick="PF('fs_new_po').toggle();" actionListener="#{managePO.btnCancelClick}" />
</p:column>
</p:row>
</p:panelGrid>
</p:fieldset>
...
//UPDATE JUST THE CONTENT OF THE FIELDSET
<p:commandButton process="@this" update=":mng_po:fs_cntnt" oncomplete="PF('fs_new_po').toggle();" icon="ui-icon-pencil" title="edit" action="#{managePO.btnEditClick}" >
<f:setPropertyActionListener value="#{po}" target="#{managePO.selectedPo}" />
</p:commandButton>
谢谢Tiny!