面板更新值Pupup
问题描述:
我有一个问题,ICEFaces更新我的ice的值:panelPopup。我有WBW值在我main.xhtml页:面板更新值Pupup
<ice:inputText value="#{main.wbw}" size="5">
<f:convertNumber minFractionDigits="2" maxFractionDigits="2" />
</ice:inputText>
我在主XHTML页面包含一个第二XHTML页面:
<ui:include src="/resources/includs/second.xhtml" />
在我second.xhtml我的价值与main.xhtml:
<ice:inputText value="#{main.wbw}"/>
的问题是,当我在second.xhtml价值全自动改变了main.xhtml更改值,但是当我关闭弹出和我改变价值在我的main.xhtml页面,他没有更新,他没有更改我的second.xhtml页面中的值,以便弹出窗口不更新并保留旧值。有人知道如何更新价值?
答
我发现它为什么没有更新。当弹出菜单关闭时,菜单的状态就像隐藏的一样,以便该菜单中的值不存在于生命周期中。在你打开弹出窗口的时候,它们会被创建。所以当它关闭时,inputText是未定义的。当你打开弹出菜单时,你需要通过javascript更新值。
var wbw = document.getElementById(inputText_id of main.xhtml).value;
if (document.getElementById(inputText_id of second.xhtml) != null)
document.getElementById(inputText_id of second.xhtml).value = wbw;
此解决方案适用于我。我只是在打开弹出式菜单后通过javascript更新了值。
你使用'render'属性了吗? –
不,我不使用渲染属性,因为它只用于渲染组件。所以如果我把渲染=“假”整个输入组件不会被渲染。所以这不是我需要的。我知道在Primefaces中有一个“更新”属性,它完全符合我所需要的,但ICEFaces不具备此功能。 –
IceFaces **确实**有一个'更新'...你在哪里读过他们没有? – Kukeltje