我在表中有两个SelectOneMenu。我需要根据第二个菜单中填充的数据来填充数据。我需要绕过验证阶段,因为。我将行动态添加到表中。
+-- Table ---------------------------------------------------+
| | |
| Field 1: |____________|v| | Field 2.1: |____________|v| |
+---------------------------+--------------------------------+
| Field 1: |____________|v| | Field 2.2: |____________|v| |
| | |
+------------------------------------------------------------+
有我的代码:
<h:selectOneMenu value="#{rowItem.selectedItem1}" immediate="true" valueChangeListener="#{rowItem.processValueChange}"
onchange="submit()">
<f:selectItems value="#{rowItem.selectItems1}" />
</h:selectOneMenu>
</h:column>
<h:column>
<h:selectOneMenu value="#{rowItem.selectedItem1}" >
<f:selectItems value="#{rowItem.seriesItems2}" />
</h:selectOneMenu>
..... some more elements
</h:dataTable>
在我的餐桌后备豆上
private ArrayList<RowItem> rowItems;
我想在代表RowItem的类中使用processValueChange(),但是我不能,因为我无法在RowItem类中绑定SelectOneMenu。
最佳答案
为什么在rowItem bean中具有所有这些逻辑?
您可以使用Richfaces框架吗?
如果您愿意,那么您将能够大致执行以下操作:
<h:selectOneMenu value="#{rowItem.selectedItem1}">
<f:selectItems value="#{rowItem.selectItems1}" />
<a4j:support event="onchange" ajaxSingle="true" action="#{helperBean.loadSeriesItems2}" reRender="areaToRender"/>
</h:selectOneMenu>