如何在 h:selectOneMenu 中更改值时在 ajax 请求中传递附加参数? [英] How to pass additional parameters in ajax request on change value in h:selectOneMenu?

查看:19
本文介绍了如何在 h:selectOneMenu 中更改值时在 ajax 请求中传递附加参数?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要将一些参数(在我的示例中为 id)传递给 f:ajax 侦听器方法,但我不知道如何传递.有人帮忙吗?

I need to pass some parameters (id in my example) to f:ajax listener method, but i don't know how. Anybody help ?

<h:form>
    <!-- need to pass id value -->
    <input type="hidden" name="id" id="id" value="#{id}"/>

    <h:selectOneMenu value="#{visibility}">
      <f:selectItems value="#{visibilities}" var="e" itemValue="#{e}" itemLabel="#{e.name}" />
      <f:ajax event="valueChange" render="@form" execute="@form" listener="#{bean.updateVisibility}" />         
    </h:selectOneMenu>
</h:form>

豆子:

class Bean {
    Integer id;

    public void setId() {
       this.id = id;
    }

    public void updateVisibility(AjaxBehaviorEvent event) { 
       // passed id
       log.debug(id);
    }
}

推荐答案

将参数传递给 f:ajax 是通过以下方式完成的:

Passing params to f:ajax is done by:

<f:ajax event="valueChange" render="@form" execute="@form" listener="#{bean.updateVisibility}">
    <f:param value="#{id}" name="myId">
</f:ajax>

这篇关于如何在 h:selectOneMenu 中更改值时在 ajax 请求中传递附加参数?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆