我正在尝试执行自动填充输入字段。每当用户在该字段中键入字母时,该字段的值将发送到服务器,服务器将使用匹配的单词进行回答。
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);
感谢您的帮助!
答案 0 :(得分:0)
您可以使用jQuery提取字段的值以将其添加到URL参数字符串。
var acOptions = {
source: "index.php?option=com_fmw&view=keywords_api&controller=keywords_api&format=raw&expr=" + $('#ID_OF_YOUR_TEXTBOX').val(),
minChars: 1,
dataType: 'json'
};
$( "#search_box_input" ).autocomplete(acOptions);