Javascript 自动完成,按需加载记录
我用的是PrimeFaces3.5。我有一个自动完成,我想在搜索加载20行,当用户滚动到底部加载10个以上的结果,如果有的话。这是我的自动完成:Javascript 自动完成,按需加载记录,javascript,jquery,jsf,primefaces,autocomplete,Javascript,Jquery,Jsf,Primefaces,Autocomplete,我用的是PrimeFaces3.5。我有一个自动完成,我想在搜索加载20行,当用户滚动到底部加载10个以上的结果,如果有的话。这是我的自动完成: <p:autoComplete rendered="#{autoCompleter.hasCompletions}" widgetVar="${id}" id="${id}" style="position: relative" value="#{autoCompleter.value}" comp
<p:autoComplete rendered="#{autoCompleter.hasCompletions}" widgetVar="${id}"
id="${id}" style="position: relative"
value="#{autoCompleter.value}"
completeMethod="#{autoCompleter.suggest}"
var="s"
itemLabel="#{s.name}"
itemValue="#{s}"
converter="#{autoCompleter.converter}"
forceSelection="true"
queryDelay="500"
scrollHeight="400"
required="#{required}"
requiredMessage="#{msgs['label.address.autocompleter.required']}"
styleClass="#{required ? 'ui-input-required' : ''}"
maxResults="#{autoCompleter.maxResult}">
<p:ajax event="change"
partialSubmit="true"
update="#{update}"
onstart="if(${id}.panel.is(':visible')) return false;"/>
<p:ajax event="itemSelect"
partialSubmit="true"
update="#{update}"/>
<p:ajax event="blur"
partialSubmit="true"
update="#{update}"
disabled="true"/>
<ui:insert name="menu">
<p:column>#{s.name}</p:column>
</ui:insert>
</p:autoComplete>
我添加了这个javascript来加载下一个结果块:
<p:remoteCommand name="loadNextSettlementsChunk"
action="#{autoCompleter.suggest}"
update="${id}"
partialSubmit="true"
immediate="true"/>
jQueryfunction${
$'.ui自动完成面板'.bind'scroll',函数{
如果$this.scrollTop+$this.height>=$this[0]。scrollHeight{
LoadNextSettlementsHunk;
}
};
};
但我没有加载下一个结果,而是收到了警告信息:
找不到与from view id匹配的导航案例
操作{autoCompleter.suggest}的“/policies/index.xhtml”
结果“[Văleni Viișoara,Viișoara,Viișoara Todirești,Viișoara
瓦斯吕,七欧拉,七欧拉,七欧拉,七欧拉,七欧拉,七欧拉,七欧拉,七欧拉,七欧拉,
奥拉·莫尼尼、奥拉、麦克、佩蒂、,
Viișoara Vidra,Viișoara,Viișoara,Viișoara,Viișoara,Viișoara
特凡·塞尔马尔,七奥拉·塔尔古·特罗图,七奥拉,七奥拉,
Viilor,Valea Viilor,Dealu Viilor,Dealu Viilor Moșoaia,Dealu
Viilor Poiana Lacului]“括号中是我的结果。怎样
要解决这个问题才能正常工作
action属性必须指向调用某些业务逻辑并返回void或字符串的方法,但方法的结果是ArrayList。因此,我建议您使用actionListener而不是actionListener,以便在不使用导航页面的情况下调用业务逻辑
<p:remoteCommand name="loadNextSettlementsChunk"
actionListener="#{autoCompleter.suggest}"
update="${id}"
partialSubmit="true"
immediate="true"/>
我试过这两个,但不起作用。只有警告消息没有显示。如果我将${id}传递给remoteCommand的update属性,它将选择自动完成输入字段中的最后一个条目。