Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it L'avatar di Cool81
    Registrato dal
    Dec 2008
    Messaggi
    160

    Ricerca dinamica in una combobox

    Ciao,
    premessa: sono molto molto principiante.

    Il mio problema è il seguente:

    Ho una combobox con un elenco di nomi. E' possibile fare una ricerca dinamica su questa combo, nel senso posso fare in modo che mentre l'utente scrive il nome che vuole ricercare, la combo si riempie con i possibili risultati corrispondenti alla ricerca?

    Grazie,


  2. #2
    Sì, si chiama autocomplete.
    C'è un plugin per Rails chiamato auto_complete, un po' datato ma che puoi usare come base di studio.
    http://railscasts.com/episodes/102-a...te-association

    E' probabile che dovrai adattare il sistema alle tue esigenze.

  3. #3
    Utente di HTML.it L'avatar di Cool81
    Registrato dal
    Dec 2008
    Messaggi
    160
    Sì, avevo letto dell'autocompletamento. Ma nn sapevo se fosse quella la soluzione per i seguenti dubbi:

    1. ho letto che si può applicare solo ad una textfield, mentre io ho una combobox, quindi per usarlo dovrei cambiare?

    2. ma ogni volta che l'utente digita un carattere, avviene una chiamata al server che aggiorna la lista dei possibili risultati? Se fosse così, c'è una soluzione alternativa per non dover effettuare ogni volta una chiamata al server?


    ps: vorrei tanto avere il tempo d studiarmi queste cose, il problema è quando c devi lavorare subito!

    grazie

  4. #4
    è un'applicazione classica di Ajax... personalmente userei una qualsiasi libreria js ( di default rails usa prototype ) che esponga un api ajax attivata all'evento onchange

    ... e insomma non userei un plugin...

    anche perchè con ajax bisogna andarci cauti... quanti record deve estrarre?


    di norma limito il numero di richieste ajax sia come numero di caratteri ( dal terzo in poi almeno ) che con un temporizzatore...

    eventualmente puoi pensare di caricare tutti i record al caricamento della pagina e poi tramite js selezionarli... vedi tu: dipende da quanti record sono

  5. #5
    Utente di HTML.it L'avatar di Cool81
    Registrato dal
    Dec 2008
    Messaggi
    160
    Nella combo potrebbero esserci presenti anche centinaia di nominativi.

    Fermo rimanendo l'utilizzo di ajax (e ora m informo sulle librerie prototype), posso sostituire la combo con un textfield? E poi seguire i seguenti passi:

    1. quando carico la pagina salvo i risultati della query al server da qualche parte, tipo un array.

    2. associo ajax al digitazione sulla textfield che m va a prendere i risultati dall'oggetto dove li ho registrati.

    3. Man mano che si digita vengono visualizzati i possibili risultati in una combo, dove eventualmente si può selezionare il nominativo di interesse.

    Ho detto qualche cavolata?

  6. #6
    beh sì hai scritto cavolate... se ti estrai al caricamento della pagina tutti i campi che ti interessano non ha più senso usare ajax, usa "semplice" javascript per selezionare le stringhe che ti servono...

    facendo così almeno non hai una richiesta al server ogni volta che cerchi una nuova stringa, oltre ad evitare l'elaborazione lato server delle stringhe

  7. #7
    Utente di HTML.it L'avatar di Cool81
    Registrato dal
    Dec 2008
    Messaggi
    160
    e lo sapevo che avrei detto cavolate...cmq, per capire, le cose allora diventano così:

    1. quando carico la pagina, salvo il risultato della query in un oggetto (un array andrebbe bene? altrimenti cosa dovrei usare?

    2. con l'uso d javascript faccio la ricerca come la vorrei io (che ora cerco su internet come s fa, perchè nn ne ho idea!).


    Ora è più corretto? o dimenticato qualcosa?

    grazie



  8. #8
    passi al javascript le stringhe... un array certo... poi devi fare il match con quanto scritto...

  9. #9
    Utente di HTML.it L'avatar di Cool81
    Registrato dal
    Dec 2008
    Messaggi
    160
    Ok...a questo punto nn so se continuare qui o andare nel forum di javascript...
    ma se io ho un metodo che facendo una query al server m restituisce un array...nn posso chiamare lo stesso metodo nella codice javascript no?

    codice:
    <script language="JavaScript" type="text/JavaScript">
          <!--
              var worker_list = new Array();
              work_list = Worker.get_workers_collection_no_end_date;
              .....
                 
          //-->
          </script>
    e poi faccio la ricerca su questo array sempre n javascript?

  10. #10
    fai stampare in pagina a ruby il valore della variabile ( gli fai creare il codice javascript )...

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.