Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    Ricerca con suggerimenti utilizzando jquery e Dom

    Salve a tutti. Sto realizzando una pagina php dove l'utente può generare una tabella dinamica attraverso il dom. Premendo un determinato pulsante quindi, viene aggiunta di volta in volta una riga alla tabella. In una delle colonne della riga vi è un campo di testo dove, se l'utente digita delle parole, vorrei che venissero mostrati dei suggerimenti le cui parole chiave per adesso sono inserite in un array.

    codice:
     $(function(){
         $('#txt[]').jSuggest({
             default_text: '',
    	 terms : ['pippo','pelo','pappo','poppo','puppo','cane','gatto','agnello'] 
          });		
     });
    Riga generata dal dom:

    codice:
    newcell = row.insertCell(1);
    newcell.innerHTML = "<TD><INPUT type='text' id='txt[]' name='txt[]' onchange='provaFunc(\"dataTable\",\""+idriga+"\")'/></TD>";
    Questa tecnica l'ho già usata per un altro sito ed è funzionante, ma in quel caso si tratta di una casella di testo normale non generata dinamicamente. Dato che invece in questo contesto la casella di testo si trova in una riga della tabella che viene generata dinamicamente col dom, è come se non si riuscisse a identificare il campo ( di tipo type="text" con id = txt[])

    Come posso fare?

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    a parte il fatto che io farei tutto con jquery visto che già lo usi per il plugin jSuggest, devi applicare i suggerimenti solo quando la casella si testo è stata creata(quindi dopo innerHTML). Inoltre leva quelle parentesi quadre nell'id che creano solo casini.

  3. #3
    Quindi scusa come dovrei fare? Queste sono le due funzioni js:

    codice:
     $(function(){
    
    	$('txt[]').jSuggest({
    		 default_text: '',
    		 terms : ['pippo','pelo','pappo','poppo','puppo','cane','gatto','agnello']
    	 });
    			
      });
    
    
    function addRow(tableID) { // Aggiungi un materiale
    			
       idriga = idriga + 1;
    			
       var table = document.getElementById(tableID);
       var rowCount = table.rows.length;
       var row = table.insertRow(rowCount);
       var newcell = row.insertCell(0);
       newcell.innerHTML = "<TD><INPUT type='checkbox' name='chk[]'/><INPUT type='hidden' name='idMat[]' value='"+idriga+"'/></TD>"
    			
       newcell = row.insertCell(1);
       newcell.innerHTML = "<TD><INPUT type='text' id='txt[]' name='txt[]' onchange='provaFunc(\"dataTable\",\""+idriga+"\")'/></TD>";				
    }

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    codice:
    newcell.innerHTML = "<TD><INPUT type='text' id='txt' name='txt[]' onchange='provaFunc(\"dataTable\",\""+idriga+"\")'/></TD>";	
    $('#txt').jSuggest({
    		 default_text: '',
    		 terms : ['pippo','pelo','pappo','poppo','puppo','cane','gatto','agnello']
    	 });

  5. #5
    L'urlo EUREKA mi è rimasto strozzato in gola perchè se inserisco la prima riga finalmente funziona. Ma se ripremo il bottone e mi inserisce una seconda riga, il campo input text della seconda riga non visualizza i suggerimenti! Da cosa può dipendere?

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    devi cambiare l'id della casella di testo creata di volta in volta. L'id deve essere univoco in tutto il documento.

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.