从Autocomplete (Primefaces)组件监听onSelect事件



我正在尝试使用属性selectListener从自动完成中收听select事件。我正在传递一个remoteCommand作为选择监听器。但是selectListener从来不调用这个remoteCommand方法。

代码如下:

<h:form>
    <p:autoComplete autocomplete="true" completeMethod="#{search.fetchSuggestions}" value="#{search.selectedSuggestion}" selectListener="moveToSelectedPage()"/>
    <p:remoteCommand name="moveToSelectedPage" action="firstPage.xhtml?faces-redirect=true" />
</h:form>

我所要做的就是,在用户从自动完成的建议中选择一个特定的建议项后导航到另一个页面。

看一下PrimeFaces 3.5版本,似乎selectListener属性不再适用于AutoComplete组件。BalusC回答中的链接指向正确的位置,在那里它显示了在<p:autocomplete>:

中包含<p:ajax>标记的新方法:
<p:autoComplete id="acSimple" value="#{autoCompleteBean.txt1}" completeMethod="#{autoCompleteBean.complete}">  
  <p:ajax event="itemSelect" listener="#{autoCompleteBean.handleSelect}" update="messages" />  
</p:autoComplete>

selectListener属性应该指向一个接受SelectEvent并返回void的托管bean方法,而不是指向某个任意的JavaScript函数。

参见PrimeFaces <p:autoComplete>展示页面。

<p:autoComplete selectListener="#{autoCompleteBean.handleSelect}" ... />  

public void handleSelect(SelectEvent event) {  
    // ... 
}

相关内容

  • 没有找到相关文章

最新更新