JSF selectItem不调用关联的ajax监听器

时间:2013-12-27 06:59:02

标签: ajax jsf

我有一个下拉列表,默认它有“选择一个”,其他值和标签被收集并从后端bean填充。代码如下。

<h:selectOneMenu id="PID" value="#{Controller.PageBean.selectedId}"  requiredMessage="Product is required" required="true" onchange="onChangeProduct();">
    <f:selectItem itemLabel="choose one" itemValue="" />
    <f:selectItems value="#{Controller.PageBean.productList}" var="pro" itemLabel="#{pro.name}" itemValue="#{pro.id}" />
    <f:ajax event="change" listener="#{Controller.updateSelectedProduct(Controller.PageBean.selectedId)}" render="productno productName"/>
    <f:validator validatorId="productValidator"/>
</h:selectOneMenu>

当我们更改下拉菜单而不是“选择一个”时,调用ajax函数并根据所选下拉列表更改后端bean值,当我选择“选择一个”时,所有值都应该无效但我无法在此处访问控制器点或者ajax函数没有被调用请求帮助。

1 个答案:

答案 0 :(得分:0)

请参阅此帖:Default value of h:selectOneMenu not invoked in valueChangedListener
虽然用户从另一条路线出发,但得出的结论与您的关注点是一样的! ;)(@BalusC提供的链接超出了他的答案,这解释了很好的事情)