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

    [JQUERY] nascondere option

    Salve a tutti...ho un dubbio ed eventuale problema di risoluzione
    Ho un elenco (select) con molti dati... ad esempio nomi di persona.
    Ho un text di ricerca e volevo che all'inserimento di alcuni caratteri mi venissero nascoste le scelte non corrispondenti. Saprei farlo ricaricando la pagina e usando ajax, ma so già che con 5000 voci il tutto rallenta. Mi chiedevo se secondo voi in una select posso semplicemente NASCONDERE una option affibiandoci una classe apposta... qualcosa come display:hidden
    Se si... come posso realizzarlo in JQUERY che il manuale di oggi non funziona ed io sono bloccato? So farlo con JS semplice, ma vorrei mantenere JQUERY

    Un qualcosa del tipo se secondo voi funziona:

    - all'evento KeyUp leggo il valore del campo
    - ciclo gli option e se il testo della option non inizia per quelle lettere gli metto la classe hidden

    GRAZIE
    La fantasía, abandonada de la razón, produce monstruos imposibles; unida con ella es madre de las artes y origen de las maravillas.
    (Francisco Goya)
    ----------------------------------------
    http://www.mangioebevo.it
    http://www.definitives.org

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Vuoi creare al caricamento della pagina una select composta da 5000 record e nascondere le options "inutili" all'evento onkeyup, e pensi che questo metodo sia più performante del classico "autocompletamento" dubito e lo trovo anche più complesso, comunque userei evento .each() sulla select e gli if per nascondere le options.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    allora... aspetta non vorrei che ragionassimo al contrario... l'auto completamento non ha nulla nella select (o nella text) fino a che io non scrivo qualcosa. Qui è l'esatto opposto. Io ho 5000 record già visibili. Se scrivo "A" voglio che gli altri spariscano. Se la soluzione con ajax è ricaricare l'intero set di option vuol dire rifare la query e lato server creare la risposta da mandare poi al client per visualizzare i dati (quindi riciclare le option e così via). Io invece pensavo che avendo l'HTML già sul client, nascondere solo le option fosse meno oneroso (di sicuro per il server), ma non so per il client.
    Considerando che magari la stessa pagina e quindi la stessa operazione potrà essere fatta mooolte volte di seguito.

    Mi sai spiegare in poche parole l'uso di each? che immagino sia simile al foreach ma non ho capito bene
    La fantasía, abandonada de la razón, produce monstruos imposibles; unida con ella es madre de las artes y origen de las maravillas.
    (Francisco Goya)
    ----------------------------------------
    http://www.mangioebevo.it
    http://www.definitives.org

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Originariamente inviato da rinosan_76bis
    allora... aspetta non vorrei che ragionassimo al contrario... l'auto completamento non ha nulla nella select (o nella text) fino a che io non scrivo qualcosa. Qui è l'esatto opposto. Io ho 5000 record già visibili. Se scrivo "A" voglio che gli altri spariscano. Se la soluzione con ajax è ricaricare l'intero set di option vuol dire rifare la query e lato server creare la risposta da mandare poi al client per visualizzare i dati (quindi riciclare le option e così via). Io invece pensavo che avendo l'HTML già sul client, nascondere solo le option fosse meno oneroso (di sicuro per il server), ma non so per il client.
    Considerando che magari la stessa pagina e quindi la stessa operazione potrà essere fatta mooolte volte di seguito.

    Mi sai spiegare in poche parole l'uso di each? che immagino sia simile al foreach ma non ho capito bene
    Non ci vedo molte differenze di come dicevo io, comunque each è l'equivalente di un ciclo for per capire meglio il funzionamento leggi qui
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    ho fatto delle prove. Fino a 2000 recordè pressochè immediato, da li in poi inizia a rallentare in maniera poco accettabile
    La fantasía, abandonada de la razón, produce monstruos imposibles; unida con ella es madre de las artes y origen de las maravillas.
    (Francisco Goya)
    ----------------------------------------
    http://www.mangioebevo.it
    http://www.definitives.org

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.