Альтернативы огромным выпадающим спискам (более 24 000 наименований)
В моем разделе администратора, когда я редактирую элементы, я должен прикрепить каждый элемент к родительскому элементу. У меня есть список из более чем 24 000 родительских элементов, которые перечислены в алфавитном порядке в раскрывающемся списке (список музыкальных исполнителей).
Страница редактирования, которая перечисляет все эти элементы в выпадающем меню, составляет 2 МБ, и она отстает как сумасшедшая для людей со старыми машинами, особенно в Internet Explorer.
Какая хорошая альтернатива для репликации той же функции, где мне нужно было бы выбрать 1 из этих 24 000 художников, без предварительной загрузки их всех в выпадающее меню.
4 ответа
Вместо заполнения выпадающего списка таким количеством имен вы можете:
- Создайте простой механизм поиска, в котором вы соответствуете началу имени
- Используйте категории (если таковые имеются) и несколько комбинированных полей, чтобы сузить выбор
- То же, что и выше, какая-то древовидная структура с категориальной иерархией
- Ярлык управления, где есть ссылка или кнопка для буквы алфавита (мета-категории)
Конечно, многое зависит от стека, который вы реализуете, например, используете ли вы AJAX или jQuery, доступ к db/type.
Предполагая, что человек знает, что он ищет, вы можете создать простую функцию автоматического предложения. Оформить заказ http://code.drewwilson.com/entry/autosuggest-jquery-plugin.
Используйте jquery (или тому подобное), которые имеют множество доступных автозаполнений. Например:
Предполагая, что пользователи имеют некоторое представление о том, что / кого они ищут (в данном случае артиста), я думаю, что лучше всего использовать автозаполнение текстового поля. Такой подход устранит ваши начальные проблемы с загрузкой и обеспечит чистую реализацию AJAX-y, которую пользователи предпочитают в наши дни. В качестве альтернативы, поскольку вы имеете дело с именами артистов, вы можете захотеть включить элемент управления "алфавит", который позволяет пользователю сократить список артистов по первому первому (первому и / или последнему). Я видел, что это сделано довольно эффективно с гиперссылкой для каждого письма. Тот же подход может быть реализован с выпадающим списком, который включает все буквы в алфавите, динамически загружает отфильтрованный выпадающий список исполнителей на основе выбора.