selectOneMenu在之前的选择中传递

时间:2018-06-05 21:50:17

标签: primefaces jsf-2

<h:selectOneMenu value="#{bean.type}">
    <f:selectItems value="#{bean.Items}"        
        var="val" itemLabel="#{val.description}"
        itemValue="#{val.id}" />
    <p:ajax  process="@this" listener="#{bean.resetStart}" />
</h:selectOneMenu>

在豆中,

public void resetStart() {
    if (type.equals("A")) {
        start = 0;
    }
}

我想要的是选择类型为“A”的项目时,重置开始为0。 但实际情况是它总是落后一步。例如。当我选择类型为“A”的选项时,它什么都不做。然后我选择其他任何东西,它会进行更改(现在类型等于A)。

请告诉我问题所在。谢谢!

1 个答案:

答案 0 :(得分:0)

您不需要单独的听众,只需尝试:

<h:selectOneMenu value="#{bean.type}">
  <p:ajax partialSumbit="true" process="@this"/>

并在你的bean中:

setType(String t) {
  type=t;
  if (type.equals("A"))
    start = 0;
}