Я использую PrimeFaces 3.5. У меня есть автозаполнение, и я хочу, чтобы в поиске было загружено 20 строк, когда пользователь прокручивается вниз, чтобы загрузить более 10 результатов (если они есть). Это мое автозаполнение:Автозаполнение, загрузка записей по запросу
<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"/>
<script type="text/javascript">
jQuery(function($) {
$('.ui-autocomplete-panel').bind('scroll', function() {
if($(this).scrollTop() + $(this).height() >= $(this)[0].scrollHeight) {
loadNextSettlementsChunk();
}
});
});
</script>
Но вместо загрузки следующих результатов я получаю предупреждение сообщение:
Невозможно найти соответствие навигации случая с от ракурса идентификатора «/ Poli cies/index.xhtml 'for action' # {autoCompleter.suggest} 'с результат' [Văleni (Viişoara), Viişoara, Viişoara (Тодирешти), Viişoara (Vaslui), Viişoara, Viişoara, Viişoara, Viişoara, Viişoara, Viişoara , Viisoara-Moşneni, Viisoara, Viisoara слюда, Viisoara (Păuneşti), Viisoara (Видра), Viisoara, Viisoara, Viisoara, Viisoara, Viisoara (Штефана чел Маре), Viisoara (Тыргу Trotuş), Viisoara, Viisoara, Viilor , Valea Viilor, Dealu Viilor, Dealu Viilor (Moşoaia), Dealu Viilor (Poiana Lacului)] ' и в скобках [] - мои результаты. Как исправить это для правильной работы?
Я пробовал эти два, но он не работает. Только предупреждающее сообщение не отображается. Если я передаю $ {id} для обновления атрибута remoteCommand, он выбирает последнюю запись в поле ввода автозаполнения. –