У меня нет рабочего примера для вас, и у меня нет очень чистого решения, но позвольте мне рассказать вам, что я нашел.
Если вы посмотрите на код JavaScript для TypeAhead, он выглядитнапример:
items = $.grep(this.source, function (item) {
if (that.matcher(item)) return item
})
Этот код использует метод "grep" jQuery для сопоставления элемента в исходном массиве.Я не видел ни одного места, где вы могли бы подключиться к вызову AJAX, так что нет «чистого» решения для этого.
Однако, один несколько хакерский способ, которым вы можете это сделать, - воспользоваться этим способом.метод grep работает в jQuery.Первым аргументом grep является исходный массив, а вторым аргументом является функция, которая используется для сопоставления исходного массива (обратите внимание, что Bootstrap вызывает «соответствие», которое вы указали при его инициализации).То, что вы могли бы сделать, это установить источник в фиктивный одноэлементный массив и определить совпадение как функцию с вызовом AJAX.Таким образом, он будет запускать вызов AJAX только один раз (поскольку ваш исходный массив содержит только один элемент).
Это решение не только хакерское, но оно будет страдать от проблем с производительностью, поскольку разработан код TypeAheadвыполнять поиск по каждому нажатию клавиши (вызовы AJAX должны выполняться только после нескольких нажатий клавиш или после определенного времени простоя).Я советую попробовать, но придерживайтесь другой библиотеки автозаполнения или используйте ее только в ситуациях, не связанных с AJAX, если у вас возникнут какие-либо проблемы.