Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di bako
    Registrato dal
    Feb 2004
    Messaggi
    1,797

    [Ajax] Tabella che mostra righe secondo stringa inserita

    Salve gente,
    ho da fare una cosa.
    [preambolo]
    Praticamente ho una applicazione web fatta in java su tomcat con struts. ho la ricerca di elementi. praticamente ho un vettore dove ho dei testi (a dire il vero è una lista di oggetti di tipo id, nome). Per la ricerca ho fatto una input che richiama una servlet che fa la query e ributta fuori i risultati. così l'utente inserisce il testo e rifà la query.
    in output all'utente viene mostrata la riga con vicino un radio button per selezionarla,
    Mi è stato chiesto di introdurre ajax.
    [/preambolo]
    praticamnete pensavo di fare sempre l'input di testo, ma appena si digita i risultati mostrati sotto vengono scremati direttamente, senza richiamare query.
    praticamente

    codice:
    - papa
    - mamma
    - ciao
    - mammamia
    se uno digita MA
    viene:
    codice:
    - mamma
    - mammamia
    qualcuno sa come si fa?
    ho cercato nel forum, ma nn so che diavolo cercare, cioè il nome tecnico di sta cosa che voglio fare.
    grazie

  2. #2
    puoi usare autocomplete ,
    cerca in rete con autocomplete javascript o autocomplete ajax
    ciao
    sergio

  3. #3
    Utente di HTML.it L'avatar di bako
    Registrato dal
    Feb 2004
    Messaggi
    1,797
    ma l'autocomplete fa un'altra cosa.
    vabbè, credo di avre sistemato cmq

  4. #4
    Originariamente inviato da bako
    ma l'autocomplete fa un'altra cosa.
    vabbè, credo di avre sistemato cmq
    Come hai risolto...??? Mi interesserebbe...

  5. #5
    Utente di HTML.it L'avatar di bako
    Registrato dal
    Feb 2004
    Messaggi
    1,797
    Originariamente inviato da kontimatteo
    Come hai risolto...??? Mi interesserebbe...
    così:

    codice:
    <html>
    <head>
    <script type="text/javascript">
    function Ricerca(valore){
    tdh=document.getElementById("tabella").tHead.rows[0].cells;
    for(i=0;i<tdh.length;i++){
        htext=tdh[i].firstChild.nodeValue;
        if(htext=="nome")
            colonna=i;
        }
    trs=document.getElementById("tabella").tBodies[0].rows;
    
    for(i=0;i<trs.length;i++){
        testo=trs[i].cells[colonna].firstChild.nodeValue;
    	testo=testo.toUpperCase();
        if(testo.indexOf(valore.toUpperCase())==-1) trs[i].style.display="none";
        }
    }
    
    function Ripristina(){
    trs=document.getElementById("tabella").tBodies[0].rows;
    for(i=0;i<trs.length;i++){
        trs[i].style.display="";
        }
    }
    
    function Cerca() {    
    this.Ripristina();
    testo = document.Ricerca.nome.value;
    this.Ricerca(testo);  
    }
    
    
    onload = function () {
    
    	if(document.getElementById){
        document.getElementById("t1ricerca").style.display="block";
        document.getElementById("t2ricerca").style.display="block";
        }
    		   }
    </script>
    </head>
    <body>
    <form name="Ricerca">
    <input type="text" name="nome" value="" onKeyUp="Cerca()">
    </form>
    <table id="tabella">
      <thead>
        <tr>
          <th>nome</th>
          <th>codice</th>
        </tr>
      </thead>
      </tfoot>
      <tbody>
        <tr>
          <td>html</td>
          <td>C001</td>
        </tr>
         <tr>
          <td>it</td>
          <td>C002</td>
        </tr>
         <tr>
          <td>ciao</td>
          <td>C003</td>
        </tr>
         <tr>
          <td>giuseppe</td>
          <td>C004</td>
        </tr>
         <tr>
    
          <td>carlo</td>
          <td>C005</td>
        </tr>
        <tr>
          <td>mario</td>
          <td>C006</td>
        </tr>
    
        </tr>
      </tbody>
    </table>
    </body>
    </html>
    essenziali il <th></th>, la tabella deve chiamarsi, cioè l'id "tabella". Volendo puoi passare il campo come parametro.
    ciao

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.