Подскажите с подсказками в Javascript - PullRequest
5 голосов
/ 30 марта 2012

Я бы хотел получить информацию от пользователя:

keywords = prompt("Input keywords separated by commas", "");

У меня есть много различных строк, хранящихся в базе данных SQLite , которые могут предложить пользователю, что печатать. Допустим, у вас есть массив или список этих строк. Как бы вы кодировали эту подсказку в Javascript? Существуют ли некоторые функции или фрагменты кода для этой функции?

Я бы хотел, чтобы он работал так же, как здесь . Когда вы начинаете печатать, вы получаете подсказку о возможностях. Есть только один недостаток: нельзя вводить больше строк, разделенных запятыми. Здесь - эта функция работает с большим количеством строк.

Подходит ли для этой цели функция prompt () ? Вы можете использовать другой способ получения пользовательского ввода.

Спасибо

Ответы [ 2 ]

3 голосов
/ 30 марта 2012

Вы не можете настроить родной метод prompt () javascript.

Я знаю, что вы не пометили тегом jQuery, но было бы намного проще использовать библиотеку для реализации такого поведения.

ВыВам придется создать собственную диалоговую систему, используя jQuery UI Dialogs .У них есть возможность сделать его модальным, чтобы пользовательский интерфейс блокировался до тех пор, пока диалоговое окно не будет закрыто.

Диалог пользовательского интерфейса jQuery не будет блокировать выполнение JavaScript, хотя, как и в случае с приглашением.Возможно, вам понадобится выполнить код, когда диалоговое окно закрыто.Этот ответ показывает способ легко реализовать это.

Наконец, автозаполнение пользовательского интерфейса jQuery предоставляет пример того, как использовать его для нескольких значений в одном входе.Они используют разделитель запятых, но я думаю, вы могли бы изменить пример для работы с пробелами: jQuery UIAutocomplete Multiple Values ​​

2 голосов
/ 30 марта 2012

Вы не можете использовать какие-либо пользовательские функции с prompt ().

Было бы лучше создать <input type="text"/> и подключить все это к кнопке, чтобы данные передавались всякий раз, когда пользователь нажимает на них или нажимает ввод.Затем закодируйте его, чтобы получить значение автозаполнения всякий раз, когда пользователь вводит новый символ.

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

...