我有一個使用ajax的搜索表單。在搜索字段searchKeyFieldId
的keyup
事件期間,我需要更新同一面板網格中的所有其他字段。如何呈現除一個inputText之外的所有網格字段?
<h:panelGrid id="myGrid" columns="4" >
<!-- When searchKeyFieldId change ... -->
<!-- Need to render all the myGrid EXCEPT searchKeyFieldId -->
<h:outputText value="search key"/>
<h:inputText id="searchKeyFieldId"
value="#{MyController.searchKeyField}"
valueChangeListener="#{MyController.licenseNumberChange}" >
<a4j:ajax event="keyup" render="myGrid" />
</h:inputText>
<h:outputText value=""/>
<h:outputText value=""/>
<!-- Target render fields -->
<h:outputText value="text1"/>
<h:inputText id="field1"
value="#{MyController.field1}"/>
<h:outputText value="text2"/>
<h:inputText id="field2"
value="#{MyController.field2}"/>
<h:outputText value="text3"/>
<h:inputText id="field3"
value="#{MyController.field3}"/>
.....
</h:panelGrid>
然而,當我使用render="myGrid"
,然後在搜索領域也被更新,因此失去焦點。最終用戶必須再次單擊/聚焦輸入字段以繼續輸入。
所以,我需要如下更新只有特定的字段:
<a4j:ajax event="keyup" render="field1 field2 field3 field4 field5 ..." />
不過,我有很多領域,40準確地說,這種解決方案不會是一個很好的做法。
謝謝。你非常有幫助@BalusC – 2013-04-18 08:30:05