我有很多行(在表格中)。
在第一行中,我有三个 selectOneMenu:
- 第一个包含大陆的名称
- 第二个包含城镇的名称(取决于在第一个 selectOneMenu 中选择的大陆)
- 第三个包含村庄的名称(这取决于在第二个 selectOneMenu 中选择的拖车)
在第二行和下一行中,它是相同的三个 selectOneMenu,但具有其他值。
所有这些 selectOneMenu 都使用转换器。像这样
<p:selectOneMenu id="id" value="#{xValue}" converter="xConverter" >
<f:selectItem itemLabel="-----" />
<f:selectItems value="#{lstItemsForSelectOneMenu}" />
<p:ajax event="valueChange" listener="#{xChange()}" update="thingsToUpdate"/>
</p:selectOneMenu>
我的问题是转换器xConverter
在方法之前执行xChange()
。
以下示例解释了为什么这对我来说是个问题:
如果用户在第一行选择:
1.Continent : America
2. Town: Washington
3. Village:Baltimore
在第二行中他选择
1.Continent : Africa
2. Town: Tunisia
3. Village:Sfax
选择后Sfax
他立即返回到第一行第二个selectOneMenu,在这种情况下,系统怎么知道用户已经选择了转换器第一行的selectOneMenu?
谢谢