2016-12-16 3 views
0

У меня есть динамическая страница с зависимыми выпадающими списками. Say dropdowns «C» и «D» зависят от «B» и «B», зависит от «A», когда я меняю «A», он должен выполнить вызов сервера для «A», и результат должен быть установлен в «B». Затем, используя значение, установленное в 'B', он должен снова вызвать сервер и заполнить 'C' и 'D' togather. Может быть любое количество уровней & уровней. Каждый запрос ответа подскажет мне только, что это за ребенок.HTML Выберите wait, пока пользователь не вводит полный текст

Это я мог бы реализовать правильно, имея очередь запросов. Кулак будет толкать «А» в очереди. Затем рекурсия в разделе «Успех» jquery ajax до тех пор, пока очередь не станет пустой, и когда придет ответ, я добавлю дочерние объекты в очередь, прежде чем проверять пустую очередь.

Это работает отлично для меня с помощью мыши. Но когда я набираю клавиатуру, он перепутался. Например: в выпадающем списке «А» у меня есть варианты «Select» «Ice Land» «Индия» и «Indoneshia»

Когда я типа «Indoneshia» быстро с помощью клавиатуры он выбирает «Ice Land» при нажатии 'i' и запускает события. Затем, когда раскрывающийся список клавиш «n» выбирает «Индия» и запускает одно и то же дерево событий и т. Д.

Я не могу сделать асинхронный: ложь на вызове jquery.

Я верю, что там будет какое-то свойство/настройки и т. Д. В раскрывающемся списке, которое я не знаю, которое не будет сразу принимать на каждое нажатие клавиши, но будет ждать, пока группа ключей не войдет вместе перед сменой. Или любую другую логику, на которую я должен пойти?

Любые типы предложений оценены ...

Благодаря & уважением Binesh

+0

Вы должны разместить свой код здесь, чтобы мы могли видеть, что вы делаете. – Sharlike

+0

Несколько соответствующих строк кода лучше. – Satpal

ответ

1

Я думаю, что вы могли бы искать какой-то способ дребезга ваших асинхронных вызовов. Вот некоторая информация об debouncing: https://davidwalsh.name/javascript-debounce-function

+0

Ya. Я ищу что-то вроде этого. Я помню, что в зависимом раскрывающемся списке ajax-инструментарий старого asp.net имел возможность установить тайм-аут для запуска изменения. Подобное что-то я ищу. Но в этом примере то, что когда-либо будет первым, будет продолжаться. Нам нужно подождать, пока все набирается. –

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