使用JSON文件的jQuery ui自动完成

时间:2012-11-03 11:12:09

标签: javascript jquery jquery-ui

我在使用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"
}
]}

2 个答案:

答案 0 :(得分:2)

您的JSON file format需要包含valuelabel(或两者)。将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,请尝试返回idname