Мне нужно использовать настройку jquery ajax в удаленном свойстве Bloodhound, поскольку у меня есть страница на стороне сервера, которая принимает только запросы POST. Все работает, но только один раз. Любое последующее изменение текста в поле ввода typehead вызывает функцию фильтра, но не запускает новый запрос на стороне сервера для получения новых данных. Он просто фильтрует данные, полученные в первом запросе. Мне нужно сделать новый запрос, поскольку пользователь удаляет текст и вводит что-то еще.
Я новичок в typehead, и я трачу слишком много времени, пытаясь понять это. Вот мой код.
var users = new Bloodhound({
datumTokenizer: function (d) {
return Bloodhound.tokenizers.whitespace(d.value);
},
queryTokenizer: Bloodhound.tokenizers.whitespace,
remote: {
url: 'fake.jsp',
filter: function (users) {
return $.map(users, function (user) {
return {
value: user.USER_ID,
name: user.DISPLAYNAME
};
});
},
ajax: {
type: 'POST',
data: {
param: function(){
return $('#userid').val();
}
},
context: this
}
}
});
users.initialize(true);
$('#userid').typeahead({
minLength: 3,
highlight: true
}, {
name: 'userslist',
displayKey: 'name',
source: users.ttAdapter()
});