Я написал страницу с автозаполнением пользовательского интерфейса jQuery.
Пользователь должен использовать автозаполнение для выбора местоположения из списка мест.До этого улучшения пользователю приходилось выбирать местоположение из длинного списка, и это было бы намного лучше, за исключением одной проблемы.
Места отформатированы следующим образом:
«Канада»
"Канада -> Альберта"
"Канада -> Британская Колумбия"
"США"
"США -> Алабама"
"США -> Аляска"
и так далее.Итак, я проверил это приложение, набрав «CA», ожидая список стран и штатов, которые обозначаются «CA», например: «Канада», «США -> Калифорния», «Мексика -> Кампече».
Однако, к моему ужасу, я вижу все канадские провинции, перечисленные одна за другой, потому что «CA» совпадает с «CA» в «Канаде».Теперь у меня есть почти двадцать вариантов выбора.
Пользователь должен видеть иерархию с названием страны и названием штата при поиске штата, но «Канада» как страна должна бытьодиночное совпадение как одно местоположение.
Как настроить автозаполнение jQuery, чтобы можно было указывать в таком количестве слов, что должен совпадать только текст справа от "->"?
Прямо сейчас, в моем коде Javascript, у меня есть var местоположения = "[{'label': 'Canada', 'value', 'Canada'}, {'label': 'Canada -> Alberta', 'value':' Alberta '} ...].
Я не хочу, чтобы эта работа выполнялась асинхронно. Боюсь, это приведет к слишком большому количеству вызовов веб-служб.