p:autoComplete - 传递更多参数

时间:2016-03-02 23:36:54

标签: jsf primefaces autocomplete

我正在使用JSF 2.2和PrimeFaces 5.3,而我正试图使用​​p:autoComplete

我认为我做了某种语法错误,但我找不到它

我这页面

<h:selectOneMenu id="countryDropdown" value="#{myController.selectedCountryId}">
   <f:selectItems value="#{myController.countries}" var="co" itemValue="#{co.id}" itemLabel="#{msg[co.name]}"/>
</h:selectOneMenu>

<p:autoComplete 
   dropdown="true" 
   value="#{myController.selectedAutocompleteId}" 
   completeMethod="#{myController.callMyAutocompleteMethod}">
      <f:attribute name="selectedCountryId"  value="#{carCountryDropdown}" />
</p:autoComplete>

为了执行自动完成任务,我需要&#34; countryDropdown&#34;的值。也。 我需要使用哪种语法才能在自动完成方法中检索&#34; countryDropdown&#34;的值。选择项目?

在自动完成方法中,我可以使用以下代码

UIComponent.getCurrentComponent(context).getAttributes().get("selectedCountryId");

但我总是空着。

你能帮助我吗?

1 个答案:

答案 0 :(得分:2)

你可以使用ajax,&lt;号码:selectOneMenu用于&GT;支持更改事件:

< p:selectOneMenu ..>
    < p:ajax event="change" listener="#{myController.subjectSelectionChanged}" />
    <!--...-->
< /p:selectOneMenu>

触发侦听器subjectSelectionChanged,您可以在其中返回&#34; countryDropdown&#34;的值。在carCountryDropdown