问题描述
我有一个表单,其中有一个选择字段 (selectOneMenu),其中包含用户选择的值和一组值。我的问题是在使用 a4j:support 选择数组的一行时,ajax 调用是空的用户选择。 如何确保在选择一行时 ajax 调用不会清空我选择中的选定值。
例如,用户选择 Item1,在从数组中选择一个值后,组件 a4j:support 对托管 bean 进行 ajax 调用并清空选择项 Item1。如何避免这种情况?
<h:selectOneMenu value = "#{userData.data}">
<f:selectItem itemValue = "0" itemLabel = "" />
<f:selectItem itemValue = "1" itemLabel = "Item 1" />
<f:selectItem itemValue = "2" itemLabel = "Item 2" />
</h:selectOneMenu>
<rich:extendedDataTable id="tab_listElem" value="#{myBean.listElems}"
var="elem" selectionMode="single" width="100%" enableContextMenu="false"
selectedClass="selectedRow"
rowClasses="hoverPointer odd-row,hoverPointer even-row" height="120px"
rendered="#{not empty myBean.listElems}" >
<a4j:support event="onRowClick"
onsubmit="document.body.className='wait';"
action="#{myBean.selectelem}"
oncomplete="document.body.className='';myInfo('#{myBean.dte}');
switchEvnt(#{rich:element('codEVT')});
newDCOErrors('#{myBean.tam}','#{myBean.Msg}');"
reRender="newPanel,dte,errorMsgs" >
<f:setPropertyActionListener value="#{elem}"
target="#{myBean.selectedelem}" />
</a4j:support>
<rich:column width="250" styleClass="dataTD">
<f:facet name="header"><h:outputText value="elem" /></f:facet>
<h:outputText value="#{elem.type}" />
</rich:column>
<rich:column width="250" styleClass="dataTD">
<f:facet name="header"><h:outputText value="Last Name" /></f:facet>
<h:outputText value="#{elem.lastname}" />
</rich:column>
<rich:column width="250" styleClass="dataTD">
<f:facet name="header"><h:outputText value="First Name" /></f:facet>
<h:outputText value="#{elem.firstname}" />
</rich:column>
<rich:column width="250" styleClass="dataTD">
<f:facet name="header"><h:outputText value="date" /></f:facet>
<h:outputText value="#{elem.dateExp}"><f:convertDateTime pattern="MM/yyyy" /></h:outputText>
</rich:column>
<rich:column styleClass="dataTD">
<f:facet name="header"><h:outputText value="Partenaire" /></f:facet>
<h:outputText value="#{elem.partenaire}" />
</rich:extendedDataTable>
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)