У меня очень большой список терминов для использования в поле автозаполнения. Я размышлял над несколькими различными сценариями того, как их обрезать, но я еще ничего не придумал.
По сути, структура очень похожа на звукозаписывающую компанию -
- У исполнителя есть альбомы В альбоме есть песни
- Отдельные песни могут быть популярны, альбомы в основном являются суммами их основной популярности песни
- Альбомы также содержат очень различное количество песен - поэтому, если в альбоме сотни песен, очень вероятно, что кто-то захочет его найти, и гораздо реже
если у него меньше песен
- Поскольку автозаполнение становится более конкретным (больше букв), я бы хотел, чтобы менее вероятные термины отображались
Я думаю примерно так:
Apple 10
Banana 10
Crab 20
Diner 30
Dish 20
Daily 10
Diver 20
Dice 10
Если это список альбомов и «оценка», которую я им назначаю, я просто выбираю список, основываясь на длине списка, который я показываю (например, 3), а затем по результату - я нажимаю » D "выше, и появляются" Diner "," Dish "и" Diver ", а затем" i "и становится" Diner "," Dish "и" Diver ".
Есть ли конкретный алгоритм, который это делает? Или для этого создан автозаполнитель AJAX? В настоящее время я использую Prototype / Scriptaculous, но я не могу понять, что это правильно.