0

Я использую Bass Jobsen Bootstrap 3 Typeahead, но для нестандартного прецедента. У меня есть поле ввода текста, где я ожидаю полные предложения и хотел бы помочь моим пользователям создать их. Я использовал функции сопряжения и обновления, предложенные в this answer, чтобы добавить предложенные слова в конец предложения.Контекстно-зависимая запись с начальной загрузкой 3

Моя проблема заключается в определении контекстно-зависимой автозаполнения, так что если общие предложения, которые я ожидал бы от моих пользователей, будут выглядеть примерно так: «Я вижу стол перед стулом». Я мог бы отфильтровать возможные предложения, основанные на том, какие типы слов уже были использованы. Например, никогда не предлагайте «видеть» после «таблицы».

Я планирую проверить окно ввода при изменении, а затем перезагрузить исходные данные для typeahead на основе текущего текста в поле ввода. Но есть ли более элегантное решение, чем динамическая перезагрузка источника JSON? Есть ли способ для загрузки всего этого сразу, а затем привязка применяется только к подмножеству данных?

+0

Вам нужен механизм предложения **, Bootstrap 3 Typeahead ** не создан для предложения так, как вы этого хотите. Вы лучше изучаете оригинальный [typeahead] (https://github.com/twitter/typeahead.js) и захватываете версию в комплекте. Вы также должны изучить интеграцию ** Hogan.js ** для компиляции вашего 'json'. – Panoply

ответ

1

Опция 'source' принимает функцию. Там вы можете динамически строить возможные элементы (предложения) любым способом: через вызов API на сервер или используя ранее загруженные вами данные или просто просто данные, загруженные с начальной загрузкой страницы. Текущий запрос является первым параметром. Вы можете вернуть любое количество предложений. Вы также можете предоставить обратный вызов сортировщика для их сортировки.

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