2016-08-12 5 views
0

У меня есть массив строк, как так ...Показать только слово из строки в автозаполнения

Array = ["WELLS FARGO DEALER May 18 06:11 4137 Reference# 10982", 
     "ONLINE - TRANSFER TO Ult SavingMay 18 03:57 4137 ONLINE Reference# 5929", 
     "Transfer From Checking 03:57a #4137 ONLINE Reference # 005929", 
     "BURLNGTON STORES861"] 

Когда я использую JQuery-UI автозаполнения и пользователь начинает набирать слово или слова, я хочу автозаполнение, чтобы показывать только «СЛОВА» или «СЛОВА», которые соответствуют вводу, поэтому даже если строка, которая соответствует длине, показывает только совпадающее слово или слова внутри этой строки. Как я могу выбрать только совпадающие слова из строк внутри массива?

Таким образом, если пользователь вводит wells f он должен оказывать wells fargo от «СКВАЖИН FARGO ДИЛЕР 18 мая 6:11 4137 Reference # 10982» строки.

+0

Вы можете создать объект, имеющий свойства возможных совпадений входных значений, ссылка на которые, например, 7 на длину имени свойства, возвращает значение свойства, если соответствует 7 из 11 символов. – guest271314

+0

См. Также http://stackoverflow.com/questions/23305000/javascript-fuzzy-search-that-makes-sense/ – guest271314

ответ

1

Вы можете использовать регулярное выражение, например /#{text}([a-zA-Z]*)\b/, это будет соответствовать всем введенным текстам и любым другим символам a-z, пока не достигнет границы слов.

+0

Интересный ответ. Как добавить это регулярное выражение в метод поиска контроллера 'render json: names.map (&: downcase). select {| i | i.include? (params [: term] .downcase)}. to_json' – SupremeA

+0

Я попробовал этот 'render json: names.map (&: downcase) .select {| i | i.include? (/ # {params [: term] .downcase} ([a-zA-Z] *) \ b /)}. to_json', но я все время получаю ошибку 'no неявное преобразование Regexp в String' – SupremeA

+0

использовать совпадение, включить? работает только со строками. – PoloniculMov

Смежные вопросы