Sono spesso in conflitto su come affrontare questo problema nelle mie applicazioni. Ho usato un numero qualsiasi di opzioni tra cui:Alternative a un singolo elemento <select multiple = "multiple"> per dataset di grandi dimensioni
- Un multiselect generico - Questa è la mia opzione meno preferita e più raramente utilizzata. Trovo l'usabilità di essere atroce, un semplice errore di battitura può rovinare tutto il tuo duro lavoro.
- Una soluzione di "completamento automatico" - Lato negativo: l'utente deve disporre delle capacità di ortografia per trovare i dannati valori di cui ha bisogno, non sono esposti a quelli che potrebbero non avere in mente e le potenziali prestazioni di backend della ricerca di sottostringa.
- Due multiselects adiacenti, con un pulsante Aggiungi/Rimuovi - Svantaggi: ancora "brutto" imo
- Qualsiasi numero di soluzioni javascript fantasia (http://livepipe.net/control/selectmultiple, http://loopj.com/2009/04/25/jquery-plugin-tokenizing-autocomplete-text-entry/, ecc)
io non sono stato in grado per trovare studi di usabilità fatti sull'approccio migliore a questo problema. Molte di queste soluzioni alternative sono ottime quando si passa da < a 10 elementi a un centinaio, ma possono scomparire completamente quando si passa da un centinaio a un migliaio.
Cosa usi? Perche 'lo usi? Puoi indicarmi casi studio di usabilità? Esiste una soluzione "magica" che deve ancora essere scoperta?
Sì, sono a conoscenza di Dojo DataGrid. Questo è un po 'eccessivo. In realtà non è pensato per l'uso che ho specificato. Dojo è anche un framework molto pesante, con una brutta curva di apprendimento. – hobodave
Sto anche cercando più di una semplice risposta "Prova questo". Mi piacerebbe vedere la discussione e la spiegazione dei suggerimenti, e come lo strumento avrebbe affrontato le mie preoccupazioni e le limitazioni delle soluzioni menzionate in precedenza. – hobodave
Vedo. Qualsiasi soluzione in questo momento sarà solo temporanea, perché HTML5 aggiunge una griglia di dati standardizzata, che è ciò che vorresti utilizzare una volta implementata. – aehlke