У меня есть вход с <rich:suggestionBox>
. Это работает очень хорошо с suggestionAction
в бобе. Но я хочу вместо этого реализовать suggestionAction
в JavaScript.
Вот код моего <rich:suggestionBox>
:
<h:inputText id="etabinput" />
<rich:suggestionbox height="200" width="200"
suggestionAction="#{etablissementList.autoComplete}" var="etab"
for="etabinput" fetchValue="#{etab.id} #{etab.nom}" id="suggestion" tokens=",">
<h:column>
<h:outputText value="#{etab.type}" />
</h:column>
<h:column>
<h:outputText value="#{etab.localite}" />
</h:column>
<a:support ajaxSingle="true" event="onselect">
<f:setPropertyActionListener value="#{etab}" target="#{offreHome.instance.etablissement}"/>
</a:support>
</rich:suggestionbox>
А вот метод suggestionAction()
в моем бине:
public List<Etablissement> autoComplete(Object o) {
String sql = this.getEjbql() + " where lower(etablissement.localite) like concat(lower('"+o.toString()+"'),'%')";
return this.getEntityManager().createQuery(sql).getResultList();
}
Есть ли способ вызвать метод из JavaScript, не вызывая сервер каждый раз?