Как вы автоматически заполняете имена, содержащие пробелы? - PullRequest
0 голосов
/ 10 марта 2011

Я работаю над реализацией скрипта автозаполнения в javascript. Тем не менее, некоторые из имен являются двумя именами слов с пробелом в середине. Какой алгоритм вы можете использовать, чтобы справиться с этим. Я использую три для хранения имен.
Единственными решениями, которые я мог придумать, было просто сказать, что нельзя использовать два названия слов (либо запустить их вместе, либо поставить тире в середине). Другая идея состояла в том, чтобы создать список таких имен и создать отдельный цикл для проверки ввода. Другая и, возможно, лучшая идея, которая у меня есть, - немного изменить дизайн и добавить категории для имени и фамилии, а затем дополнительную категорию имени. Мне было интересно, есть ли лучшее решение там?

Редактировать: Я понял, что не очень ясно понял, о чем спрашиваю. Моя проблема не в добавлении двух словосочетаний в три, а в возврате их, когда кто-то вводит имя. В этом окне я разделил имя и фамилию, чтобы вы могли искать либо. Так что, если кто-то вводит имя, а затем пробел, как я могу сказать, набирают ли они оставшуюся часть имени или вводят ли сейчас фамилию?

Ответы [ 4 ]

3 голосов
/ 10 марта 2011

Почему бы в три не включать имена с пробелами?

Как только у вас есть список кандидатов, разбейте каждого из них на пробел и покажите первый токен ...

0 голосов
/ 10 марта 2011

Если вы используете многострочный редактор, я думаю, что лучшим выбором для автозаполнения будет слово. Таким образом, имя, отчество и фамилия должны быть проанализированы и добавить элемент поиска.

Для использования в текстовом поле (одна строка) в критерии поиска можно добавить пробелы (и имя + пробел + среднее имя + пробел + фамилия).

0 голосов
/ 10 марта 2011

Если у вас есть способ разобрать имена из двух слов, просто включите пробелы в свой файл. Но если вы не можете определить, что такое имя из двух слов и что такое два отдельных слова, и ваш набор не может быть достаточно большим, чтобы вместить все последовательности из двух слов, тогда у вас есть проблема.

Один простой способ решить эту проблему - по умолчанию разрешить использование пар из двух слов, но если после пробела слишком много разветвлений, отбросьте всю эту ветвь. Таким образом, когда первое слово является прогнозирующим для второго, вы получите автозаполнение, но когда это может быть что-то из огромного количества вещей, ваша строка заканчивается в конце одного слова.

0 голосов
/ 10 марта 2011

Есть ли причина, по которой вы запускаете свой собственный скрипт автозаполнения вместо того, чтобы использовать уже существующий, например YUI autocomplete ?(т.е. вы делаете это просто для удовольствия? и т. д.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...