2010-08-03 9 views
6

Nella sezione di amministrazione, quando si modificano gli articoli, devo allegare ogni articolo a un articolo principale. Ho un elenco di oltre 24.000 articoli principali, elencati in ordine alfabetico in un elenco a discesa (un elenco di artisti musicali).Alternative a enormi elenchi a discesa (24.000+ articoli)

La pagina di modifica che elenca tutti questi elementi in un menu a discesa è di 2 MB e ritarda come un matto per le persone con macchine vecchie, soprattutto in Internet Explorer.

Che cosa è una buona alternativa per replicare la stessa funzione, dove avrei bisogno di selezionare uno di questi 24.000 artisti, senza averli tutti pre-caricati in un menu a discesa.

risposta

3

Invece di riempire una casella di riepilogo con tanti nomi si potrebbe:

  1. Creare un semplice meccanismo di ricerca in cui è partita l'inizio di un nome
  2. Fare uso di categorie (se disponibili) e più caselle combinate per limitare la selezione
  3. Come sopra, una sorta di struttura ad albero con una gerarchia categoriale
  4. Un controllo di scorciatoie in cui è presente un collegamento o un pulsante per la lettera dell'alfabeto (meta-categoria)

Naturalmente molto dipende dallo stack che si sta implementando, ad es. stai usando AJAX o jQuery, accesso a un db/tipo.

1

Utilizzare jquery (o simili) con numerosi elenchi a discesa con completamento automatico disponibili. Per esempio:

http://docs.jquery.com/Plugins/Autocomplete

+1

Questo è quello che stavo pensando anche io. c'è un modo per codificare l'ID in esso in qualche modo? perché ciò che mi è piaciuto del menu a discesa, è che esiste un valore (id) e il testo effettivo (nome dell'artista). –

+0

Sì, dipende da come lo fai. Puoi sempre essere creativo però. Ad esempio, se i risultati vengono restituiti come elenco non ordinato, è possibile memorizzare il proprio ID nei tag del titolo dell'elenco e quindi scaricarlo al clic con qualcosa come $ (this) .attr ('title'). – blcArmadillo

0

Supponendo che gli utenti abbiano un'idea di cosa/di chi stanno cercando (in questo caso, un artista), penso che una casella di testo con completamento automatico sia la migliore. Questo approccio eliminerebbe i problemi di caricamento iniziale fornendo un'implementazione AJAX-y pulita che gli utenti tendono a preferire in questi giorni. In alternativa, dato che hai a che fare con i nomi degli artisti, potresti voler includere un controllo "alfabeto" che consente all'utente di ridurre la lista degli artisti per prima iniziale (prima e/o ultima). Ho visto questo fatto in modo abbastanza efficace con un collegamento ipertestuale per ogni lettera. Lo stesso approccio potrebbe essere implementato con un menu a discesa che include tutte le lettere dell'alfabeto carica dinamicamente un elenco a discesa artista filtrato in base alla selezione.