Я пытаюсь сделать поле ввода автозаполнения. Каждый раз, когда пользователь вводит букву в этом поле, значение поля отправляется на сервер, а сервер отвечает словами, которые совпадают.
var acOptions = {
source:function (request, response) {
$.ajax({
url: "index.php?option=com_fmw&view=keywords_api&controller=keywords_api&format=raw",
type: "GET", dataType: "json",
data: { expr: request.term},
success: function (data) {
response($.map(data, function (item) {
return item.value;
}))
}
})
},
minChars: 1,
dataType: 'json'
};
$( "#search_box_input" ).autocomplete(acOptions);
Это пример данных с сервера:
[{"value":"Greater"},{"value":"great"},{"value":"greatly"},{"value":"Greater-Axe"}]
Предыдущий код делает правильный запрос к серверу (и сервер отвечает правильно), но он ничего не отображает в текстовом поле.
Я попытался выполнить автозаполнение без явного объекта ajax, но затем не смог отправить текущее значение поля (параметр "expr" запроса) на сервер:
var acOptions = {
source: "index.php?option=com_fmw&view=keywords_api&controller=keywords_api&format=raw&expr=",
minChars: 1,
dataType: 'json'
};
$( "#search_box_input" ).autocomplete(acOptions);
Спасибо за вашу помощь!