我在使用json文件专门处理自动完成时遇到了一些麻烦。它 在文本框中输入内容时给出以下错误
网址未定义
以下是我的jQuery代码
$(document).ready(function() {
$('#autocomplete').autocomplete({
minChars: 1,
source: function(request, response) {
var url='dataa.json';
$.getJSON(url,{term: request.term},function(data){
response($.map(data.ledgers, function(item) {
return item.value;
}));
})
}
});
});
和JSON
{
"ledgers":
[
{
"id":"2001",
"name":"Bharat"
},
{
"id":"2003",
"name":"Gaurav"
},
{
"id":"2002",
"name":"Pankaj"
},
{
"id":"2022",
"name":"Purchase"
},
{
"id":"2007",
"name":"Ram"
},
{
"id":"2008",
"name":"Ramesh"
},
{
"id":"2009",
"name":"Suresh"
}
]}
答案 0 :(得分:2)
您的JSON file format需要包含value
或label
(或两者)。将name
更改为value
,它应该可以正常工作。
$('#autocomplete').autocomplete({
minChars: 1,
source: function(request, response) {
var url='dataa.json';
$.getJSON(url,{term: request.term},function(data){
response($.map(data.ledgers, function (value, key) {
return {
label: value,
value: key
};
}));
})
}
});
答案 1 :(得分:0)
尝试在$(document).ready()
的顶部添加'use strict';
。这可能会指出问题是什么......
return item.value;
item
没有value
,请尝试返回id
或name
。