【问题标题】:Listening to onSelect events from Autocomplete (Primefaces) component监听来自 Autocomplete (Primefaces) 组件的 onSelect 事件
【发布时间】:2011-07-09 14:03:43
【问题描述】:

我正在尝试使用属性 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>

我要做的只是,在用户从自动完成的建议中选择特定的建议项目后导航到不同的页面。

【问题讨论】:

    标签: jsf primefaces


    【解决方案1】:

    查看 PrimeFaces 3.5 版,selectListener 属性似乎不再可用于 AutoComplete 组件。 BalusC 答案中的链接指向正确的位置,它显示了在&lt;p:autocomplete&gt; 中包含&lt;p:ajax&gt; 标记的新方法:

    <p:autoComplete id="acSimple" value="#{autoCompleteBean.txt1}" completeMethod="#{autoCompleteBean.complete}">  
      <p:ajax event="itemSelect" listener="#{autoCompleteBean.handleSelect}" update="messages" />  
    </p:autoComplete>
    

    【讨论】:

      【解决方案2】:

      selectListener 属性应该引用一个托管 bean 方法,该方法采用 SelectEvent 并返回 void,而不是一些任意的 JavaScript 函数。

      另请参阅PrimeFaces &lt;p:autoComplete&gt; showcase page

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

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

      【讨论】:

        猜你喜欢
        • 2013-06-30
        • 2019-10-15
        • 2020-03-27
        • 2020-08-11
        • 2017-09-24
        • 1970-01-01
        • 1970-01-01
        • 2016-01-09
        • 2017-02-25
        相关资源
        最近更新 更多