2010-08-03 14 views
6

En mi sección de administración, cuando edito elementos, tengo que adjuntar cada elemento a un elemento principal. Tengo una lista de más de 24,000 elementos para padres, que se enumeran alfabéticamente en una lista desplegable (una lista de artistas de música).Alternativas a enormes listas desplegables (24,000+ elementos)

La página de edición que enumera todos estos elementos en un menú desplegable es de 2MB, y está muy rezagada para las personas con máquinas antiguas, especialmente en Internet Explorer.

¿Cuál es una buena alternativa para replicar la misma función, donde tendría que seleccionar 1 de estos 24,000 artistas, sin tenerlos todos preinstalados en un menú desplegable?

Respuesta

3

En lugar de llenar una lista desplegable con tantos nombres que podrían:

  1. Crear un simple mecanismo de búsqueda en el que coinciden el inicio de un nombre
  2. Aprovechar categorías (si hay alguna disponible) y varios cuadros combinados para restringir la selección
  3. Igual que la anterior, algún tipo de estructura de árbol con una jerarquía categórica
  4. Un control de accesos directos donde hay un enlace o un botón para la letra del alfabeto (metacategoría)

Por supuesto, mucho de esto depende de la pila que está implementando, p. ¿estás usando AJAX o jQuery? accede a un db/type.

1

Use jquery (o similar) que tenga numerosas listas desplegables de autocompletar disponibles. Por ejemplo:

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

+1

Eso es lo que estaba pensando también. ¿Hay alguna manera de codificar la ID en ella de alguna manera? porque lo que me gustó del menú desplegable es que hay un valor (id) y el texto real (nombre del artista). –

+0

Yegor, depende de cómo lo haga. Sin embargo, siempre puedes ser creativo. Por ejemplo, si los resultados se devuelven como una lista desordenada, puede almacenar su identificación en la etiqueta del título de los artículos de la lista y luego simplemente buscarla al hacer clic con algo como $ (this) .attr ('title'). – blcArmadillo

0

Asumiendo que los usuarios tienen una idea de qué/quiénes están buscando (en este caso, un artista), creo que un cuadro de texto de autocompletar sería lo mejor. Este enfoque eliminaría los problemas de carga iniciales que proporcionan una implementación limpia de AJAX-y que los usuarios tienden a favorecer en estos días. Alternativamente, dado que se trata de nombres de artistas, es posible que desee incluir un control "alfabético" que le permita al usuario reducir la lista de artistas por primera inicial (primera y/o última). He visto esto hecho bastante bien con un hipervínculo para cada letra. El mismo enfoque podría implementarse con un menú desplegable que incluya todas las letras en el alfabeto carga dinámicamente un menú desplegable de artista filtrado en función de la selección.

Cuestiones relacionadas