Domanda

Giusto ragazzi, tutti i plugin e le funzioni di completamento automatico che ho trovato si aggiornano solo premendo su/giù, ecc.Questo va bene, ma la ricerca inizia solo quando l'utente ha smesso di digitare e se sta digitando una frase o una parola, lo script non è in grado di iniziare immediatamente a suggerire, ecc.

So che questa sarà una soluzione o un suggerimento molto semplice per alcuni di voi, quindi qualsiasi aiuto sarebbe molto apprezzato su come convertirlo in modo che sia istantaneo quando viene premuto un tasto.

Un esempio dell'effetto desiderato è Google Suggest o la ricerca su Facebook, una ricerca viene avviata istantaneamente alla pressione o alla modifica di un tasto, come posso emularlo?

Grazie!

È stato utile?

Soluzione

Dipende da quanto è grande lo spazio che stai cercando e dalla qualità dei tuoi server.La ricerca su Facebook di (presumo i nomi delle persone) è rapida perché stai effettivamente cercando solo tra un migliaio di contatti.Google è veloce perché investe molti soldi nelle infrastrutture e memorizza nella cache molte risposte.

In uno dei miei progetti che ho usato Questo plugin jQuery e fornisce prestazioni eccellenti sui risultati memorizzati nella cache.Lo abbiamo utilizzato per fornire funzionalità di completamento automatico su un elenco di circa 6.000 contatti (nomi, ecc.).E' questo quello che avevi in ​​mente?

Altri suggerimenti

E 'questo che vuoi dire? O vuoi Ajax per recuperare da un database?

var data = "Core Selectors Attributes Traversing Manipulation CSS Events Effects Ajax Utilities".split(" ");
    $("#example").autocomplete(data);

JQuery

Edit: io non sono sicura di sapere quello che vuoi dire, perché questo esempio sembra funzionare identico a Google Suggest o Facebook. Se il database era piccolo si potrebbe scaricare la cache nei dati variabili al caricamento della pagina. Se il database è stato leggermente più grande di limitare la cache solo un numero X di risposte per ogni carattere alfabetico o una serie di caratteri. (Es. Dove Città LIKE 'aa%' LIMITE 10 E DOVE ...)

Il framework web Wicket ha il concetto di un comportamento "strozzamento". Normalmente, le richieste di AJAX nelle applicazioni Wicket sono accodati a fronte di un "canale ajax", che innesca una richiesta immediatamente se non è in esecuzione. Se una richiesta è già in esecuzione, la richiesta successiva è in coda, e attivato quando quello corrente ritorna.

"Throttling" consente la stessa ritardo comportamento per un certo periodo di tempo (ad esempio, due secondi). Se il comportamento spara di nuovo nello stesso periodo, la richiamata per il comportamento più recente sostituisce la richiamata per il comportamento in coda corrente. (Ad esempio, l'utente inizia a digitare "Albuquerque", che innesca gli eventi "A" poi "AL", poi "ALB". Il sistema potrebbe innescare "A", poi "ALB", saltando "AL" perché era sostituito da "ALB", mentre seduto in coda.) lo scopo di questo è quello di sparare un comportamento immediatamente su ogni pressione dei tasti, ma evitare che il server venga inondato di richieste non necessarie.

Controlla il codice sorgente di wicket ajax:      http://svn.apache.org/repos/asf/wicket/trunk/wicket/src/main/java/org/apache/wicket/ajax/wicket-ajax.js

Per ulteriori informazioni sul framework web, consultare: http://wicket.apache.org

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top