2014-10-30 8 views
1

Есть много подобных вопросов к этому на SO, но ни один из них действительно не дал ответ на мой конкретный случай. Или, по крайней мере, я не могу понять это!JQueryUI Autocomplete - Обработка без выбора

У меня есть форма с полем автозаполнения, которое используется для заполнения других полей, если существует запись.

Я обнаружил, что некоторые пользователи вводят значение и нажимают на следующую ячейку с помощью мыши и поэтому не делают выбор из списка автозаполнения. Возможно, что они набрали значение с соответствующей записью в поле ввода, и в этом случае я хочу, чтобы форма была заполнена соответствующими данными. Или, если это не так, то очистите форму.

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

Есть ли способ сохранить массив автозаполнения и проверить его на входное значение в событие изменения? Или как еще я могу это сделать?

ответ

1

Что вы можете сделать, это спрятать копию данных, возвращенных в обратном вызове успеха ajax-вызова.

Затем вы можете добавить обработчик события размытия к вводу автозаполнения, поэтому он будет вызываться всякий раз, когда пользователь нажимает на следующее поле. В обработчике событий проверьте сохраненные данные ajax, и если было только одно возможное совпадение, используйте это для заполнения ввода.

+0

Хороший звонок, спасибо за отзыв! – doovers

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