Hi elias82, A few suggestions/questions : - replace h:form by tr:form . Can't remember when, but it does cause bugs sometimes - what submits the page / triggers a PPR ? Some JS code you didn't attach ? If you set breakpoints in the 2 ValueChangeListeners, are both of them triggered ? - why the immediate ?
Regards, Cedric 2011/8/13 elia...@libero.it <elia...@libero.it>: > Hi everyone, > i try to create a simple filter with autocompletion.... A user put some text > in an inputText and when its lenght is greater than two words i use a DAO to > query the database in order to get a lot of suggestions to the user.... So i'd > like to refresh this suggestion (i use a selectonechoice component) when i've > got the result from the query and then to refresh the inputText when the user > select one of that choice... > > My jsf page follows (i put only some components in this example): > > <h:form> > <tr:panelFormLayout rows="11"> > <tr:inputText label="Fornitore" binding="#{FilterOrder. > fornitore}" id="fornitore" immediate="true" > partialTriggers="fornitore suggestion" valueChangeListener="# > {FilterOrder.searchGoogleLike}" autoSubmit="true"/> > <tr:selectOneChoice > label="Forse cerchi..." > id="suggestion" > autoSubmit="true" > immediate="true" > partialTriggers="suggestion fornitore" > valueChangeListener="#{FilterOrder.setSuggestionAsChoice}" > binding="#{FilterOrder.forseCercaviSelect}" >> > <f:selectItems value="#{FilterOrder.suggestions}" /> > </tr:selectOneChoice> > </tr:panelFormLayout> > </h:form> > > > > An these are the backing bean methods that i invoke (i don't put the query in > this example): > > private SelectItem[] suggestions; > > public void setSuggestions(SelectItem[] suggestions) { > this.suggestions = suggestions; > } > > public SelectItem[] getSuggestions() { > return suggestions; > } > > public void searchGoogleLike(ValueChangeEvent valueChangeEvent) { > if (((String)valueChangeEvent.getNewValue()).length() > 2) { > SupplierLikeFilterDAO suppLikeDAO = new SupplierLikeFilterDAO(); > List<SupplierLikeFilterOrder> queryResult = new > ArrayList<SupplierLikeFilterOrder>(); > queryResult.addAll(suppLikeDAO.listSupplierLike((String) > valueChangeEvent.getNewValue())); > suggestions = new SelectItem[queryResult.size()]; > for(int i=0; i<queryResult.size(); i++) { > SelectItem si = new SelectItem(); > si.setValue(queryResult.get(i).getSupName()); > si.setLabel(queryResult.get(i).getSupName()); > suggestions[i] = si; > } > } > } > > public void setSuggestionAsChoice(ValueChangeEvent valueChangeEvent) { > this.fornitore.resetValue(); > this.fornitore.setValue(valueChangeEvent.getNewValue()); > } > > > > With this code components refresh does not work.... any idea please??? >