0

我有很多行(在表格中)。
在第一行中,我有三个 selectOneMenu:

  1. 第一个包含大陆的名称
  2. 第二个包含城镇的名称(取决于在第一个 selectOneMenu 中选择的大陆)
  3. 第三个包含村庄的名称(这取决于在第二个 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?

谢谢

4

0 回答 0