Ciao ho un problema con l'autocomplete di java. Ho una form con una casella di input. Scrivendo in questa casella di input mi devono venire fuori le opzioni possibili prese dal mio database prendendo come riferimento le lettere che man mano scrivo nella casella.
PEZZO DEL FORM
AUTOCOMPLETE(si trova nella view del form)codice:<form id="theform" name="theform" action="doListaDomande.jsp" method="POST"> <label>Categoria <input type="text" id="categoria" name="categoria"/> <input type="text" id="idcategoria" name="idcategoria"/> </label> <span id="completacategorie"></span><%--nello span metto le opzioni delle parole--%> </p> <input id="bottone" type="submit" value="cerca"> </p> </form>
PAG AJAXcodice:<script type="text/javascript"> $(function() { $('#categoria').autocomplete({ minLength: 0, source: "ajax/ajaxCompletaCategorie.jsp?"+$('#categoria').val(), focus: function(event, ui) { $('#categoria').val(ui.item.label); return false; }, select: function(event, ui) { $('#categoria').val(ui.item.label); $('#idcategoria').val(ui.item.value); return false; } }) }); </script>
Il codice è del prof ma non mi funziona, inoltre non capisco alcune cose: tipo a cosa serva la variabile "term" e perchè al suo posto non c'è "testo"..con term non trova nulla nel database, con testo si perchè nella pagina javascript dove faccio la richiesta ad ajax ho 'xhr.open("GET", "ajax/ajaxCompletaCategorie.jsp?testo="+testo) '.codice:<%@page import="java.util.List"%><%@page import="it.polito.elite.qax.db.CategoriaDAO"%><%@page contentType="text/plain" pageEncoding="UTF-8"%> <% String testo = request.getParameter("term") ; //The Autocomplete plugin does not filter the results, / /instead the request parameter "term" gets added to the URL, //which the server-side script should use for filtering the results. CategoriaDAO cdao = new CategoriaDAO() ; List<String> completamenti = cdao.getCompletamenti(testo) ; //mi ritorna una lista di String del tipo "value":"3","label":"canzoni" out.print("["); int i=1; for ( String s : completamenti ) { out.print(s) ; if (i<completamenti.size()) { out.print(","); } i++; } out.print("]"); %>
Vi prego aiutatemi e scusate x il codice lungo![]()

Rispondi quotando


