如何停止下一个ajax请求,直到当前一个得到完成



嗨,在我的项目中,我有输入文本框,如下所示,在"keyup"事件中,我正在调用管理bean,我在数组列表中执行搜索操作。

我在p:dataTable中显示的数组列表名为userDataTable

My Code for xhtml

<p:inputText id="searchText" binding="#{searchText}"
            value="#{userData.searchReq}" autocomplete="off">
    <p:ajax listener="#{userManagement.userTable.searchListener}"
        event="keyup" update="userDataTable/>
</p:inputText>

这基本上让用户在输入inputText时对表执行过滤。但问题是用户打字速度很快。我想停止下一个ajax调用,直到当前ajax调用完成。我怎样才能做到呢?

既然您已经使用了Primefaces,那么您可以使用AutoComplete组件来执行您想要做的事情。第一个例子展示了使用arraylists....的基本自动完成功能你可以参考一下。

Autocomplete还具有延迟对服务器的访问以补偿快速输入的特性——queryDelay属性。详细信息请参阅用户指南

相关内容

  • 没有找到相关文章

最新更新