autocompletamento textBox da DB con JSP

  • Creatore Discussione Creatore Discussione rob1973
  • Data di inizio Data di inizio

rob1973

Nuovo Utente
22 Set 2019
3
0
1
Buongiorno, sono un nuovo utente di questo forum e colgo l'occasione per porgere un saluto agli iscritti.
Sto provando a realizzare sito internet usando JSP e Html e mi ritrovo a non saper superare il seguente problema. Vorrei realizzare una TextBox che mi consenta di inserire i primi caratteri di una stringa e che, tramite chiamata Ajax, acceda al Database (MySQL) e visualizzi dinamicamente le prime "n" righe che la query restituisce. Di fatto, ogni carattere che digito viene inviato al server che, mediante apposita Query, fornisce risposte che completano il testo già digitato (se trovate). Il codice Ajax che in atto ho scritto, è il seguente :
Codice:
<script type="text/javascript">

 $('#luogo').keyup(function(){
  //getting typed value
       var cercaComune=$(this).val();
          if(cercaComune!='')
                {
                   $.ajax({
                      type:"GET",
                       url:"registraUtente_2.jsp",
                       //passing value
                        data:{comune:cercaComune}, // trasmetto la coppia "comune:cercaComune"
                        success : function (data) {
                            $("#result").html(data);  
                            console.log("i dati trasmessi sono : " + data);
                       }
                       
                    });
                 
                    }
              });
   </script>
Di fatto, nella textBox il cui id è "luogo" riesco a digitare i caratteri che la funzione Keyup passa alla pagina "registraUtente_2.Jsp" e da quest'ultima ottengo le righe di risposta (nel mio caso imposto il limit=10). La risposta in atto mi viene fornita sulla textbox "result" e riesco a visualizzarli sulla pagina correttamente. Il problema è che vorrei che invece fossero visualizzati nella textBox "luogo" (o in altra adiacente come al momento faccio) e che, soprattutto, fosse possibile selezionarli come avviene nelle select. Nel ringraziare per l'attenzione, spero che qualcuno possa indirizzarmi su una possibile soluzione.
 
Ultima modifica:
Come hai strutturato il progetto?
Che lib utilizzi per il motore di template ?
Buonasera Macus, grazie per avermi risposto. Allora, il template l'ho costruito io utilizzando div, classi e id e costruendo un css che regola la visualizzazione delle singole pagine. Il progetto, relativamente a questo aspetto è strutturato in maniera semplicissima. Ho un database MySQL che fornisce le stringhe per l' autocompletamento mediante una query a cui passo i caratteri digitati nella textbox. La parte di codice che mi ritorna i dati dal Db è questa :
Codice:
 PreparedStatement pstmt = conn.prepareStatement("select * from comuni where comune LIKE ? order by Comune limit 30");
     pstmt.setString(1, search + "%");
     ResultSet rs=pstmt.executeQuery(); 
  //     System.out.println(pstmt.toString());
 
     while(rs.next()){
        
     //document.getElementById("luogo").innerHTM +rs.getString("comune"));
 
      out.print(rs.getString("comune") + " (" + rs.getString("Sigla_Provincia") + ")" +"<br>");
    
     }
Spero tu possa darmi qualche suggerimento su come fare a visualizzare i dati nella pagine chiamante e renderli "selezionabili".
Grazie ancora per l'aiuto
 

Discussioni simili