У меня есть иерархия модели, которая выглядит примерно так:JQuery автозаполнения UI
Office
|
+-- Person
То есть, каждый Office
имеет несколько Person
.
Я хочу разрешить пользователю выбирать Person
с использованием поля ввода текста автозаполнения (используя jQuery UI Autocomplete). В этом поле ввода текста я разрешаю пользователю вводить текст, сопоставляемый с серверной стороной от имени, имени и имени пользователя Person
, чтобы найти совпадения, предлагаемые пользователю во время ввода текста.
Недавно я столкнулся с проблемой, когда иногда пользователи знают только ограниченную информацию, например, имя Office
и имя Person
. Они не могут просто ввести «Джон» в поле автозаполнения, так как оно будет соответствовать сотням «Джона», и им придется прокручивать все эти данные, ища тот, который находится справа Office
.
Мой вопрос, , что это лучший способ, чтобы позволить пользователям осуществлять поиск в течение Person
с использованием критериев, как из Office
и Person
?
Я бы предпочел, чтобы пользовательский интерфейс был как можно более гладким и минимальным, поэтому я стараюсь держаться подальше от нескольких полей, наложенных всплывающих окон и вещей такого характера.
Я предполагаю, что проблема с этим метод выясняет, как связать имя офиса с данным пользователем без денормализации моей схемы базы данных, но это хорошее предложение, тем не менее. Я просто могу использовать этот. – FtDRbwLXw6
Ну, у человека есть идентификатор офиса? В зависимости от вашей платформы, что-то в пределах цикла -> Пользователь, FindOffice (User.office_id) ->/loop –
Да, но это автозаполнение, поэтому производительность - большая проблема. Проникновение через каждого пользователя и поиск офиса для него было бы слишком медленным . Скорее всего, мне придется присоединиться к таблицам и создать модель из результатов, а вместо этого искать их. – FtDRbwLXw6