我的表中有两个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>
在我的桌子支持bean中我有
private ArrayList<RowItem> rowItems;
我想在我的类中使用processValueChange()代表RowItem,但我不能,因为我无法在我的RowItem类中绑定SelectOneMenu。
答案 0 :(得分:1)
为什么在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>