jQuery UI自动完成键入时不显示结果

jQuery UI自动完成键入时不显示结果,jquery,jquery-ui,autocomplete,Jquery,Jquery Ui,Autocomplete,我对jquery UI上的jquery自动完成功能有一些奇怪的问题 当我输入时,我没有得到任何结果,如果我删除我输入的所有内容,那么自动完成结果就会显示出来 此外,自动完成功能似乎不会过滤匹配字符的结果 我把代码放在这里的JSFIDLE上 下面是只包含json对象一部分的代码 var accounts = $.parseJSON('[{"id":"217","aid":"c4ca4238a0b923820dcc509a6f7

我对jquery UI上的jquery自动完成功能有一些奇怪的问题

当我输入时,我没有得到任何结果,如果我删除我输入的所有内容,那么自动完成结果就会显示出来

此外,自动完成功能似乎不会过滤匹配字符的结果

我把代码放在这里的JSFIDLE上

下面是只包含json对象一部分的代码


var accounts = $.parseJSON('[{"id":"217","aid":"c4ca4238a0b923820dcc509a6f75849b","system_id":"6c907867-f687-67a9-c342-00001fa54bc1","account_id":"","account_type":"Other Income","account_name":"Proceeds from sale of assets","account_status":"Enabled"},{"id":"218","aid":"c4ca4238a0b923820dcc509a6f75849b","system_id":"542dd9ad-914c-2b69-ca3f-0000413ef162","account_id":"","account_type":"","account_name":"Other Expenses","account_status":"Enabled"},{"id":"211","aid":"c4ca4238a0b923820dcc509a6f75849b","system_id":"638336e9-3bdf-4329-7a15-000058ba48f2","account_id":"","account_type":"Expense","account_name":"Taxes","account_status":"Enabled"}]');

//alert(data);
$("#accountSearch").autocomplete({
    minLength: 0,
    source: accounts,
    focus: function(event, ui) {
        $("#accountSearch").val(ui.item.account_name);
        return false;
    },
    select: function(event, ui) {
        $("#accountSearch").val(ui.item.account_name);
        $("#jeAccountID").val(ui.item.system_id);

        return false;
    }
}).data("autocomplete")._renderItem = function(ul, item) {
    return $("<li></li>").data("item.autocomplete", item).append("<a>" + item.account_name + "</a>").appendTo(ul);
};

var accounts=$.parseJSON('[{“id”:“217”,“aid”:“c4ca4238a0b923820dcc509a6f75849b”,“系统id”:“6c907867-f687-67a9-c342-00001fa54bc1”,“帐户id”:“帐户类型”:“其他收入”,“帐户名称”:“资产出售收益”,“帐户状态”:“已启用”},{“id”:“218”,“aid”:“C4CA4238A0B923820DCC509A6F7584B”,“系统id”:“542dd9ad-914c-2b69-ca3f-0000413ef162”,“账户id:”账户类型“:”账户名称“:”其他费用“,”账户状态“:”启用“,”账户id:”211“,”辅助“:”c4ca4238a0b923820dcc509a6f75849b“,”系统id:”638336e9-3bdf-4399-7a15-000058ba48f2“,”账户id:”账户类型“,”费用“,”账户名称“:”税费“,”账户状态“:”启用“;”;
//警报(数据);
$(“#帐户搜索”).autocomplete({
最小长度:0,
资料来源:账户,
焦点:功能(事件、用户界面){
$(“#accountSearch”).val(ui.item.account_name);
返回false;
},
选择:功能(事件、用户界面){
$(“#accountSearch”).val(ui.item.account_name);
$(“#jeAccountID”).val(ui.item.system_id);
返回false;
}
}).数据(“自动完成”)。\u renderItem=功能(ul,项目){
返回$(“
  • ”)数据(“item.autocomplete”,item).append(“+item.account\u name+”).appendTo(ul); };
    将值标记为JSON属性有助于自动完成,事实上它们是该小部件的默认属性。 以下是自动完成的工作示例:

    我刚刚在
    值中更改了您的json的
    系统id
    ,在
    标签中更改了
    帐户名


    完成此操作后,您的一些自动完成功能非常简单,因此我已将它们删除。

    将值标记为JSON属性对自动完成有很大帮助,事实上它们是该小部件的默认属性。 以下是自动完成的工作示例:

    我刚刚在
    值中更改了您的json的
    系统id
    ,在
    标签中更改了
    帐户名


    完成此操作后,您的一些自动完成功能非常简单,因此我已将其删除。

    确保您的json对象中有标签和值作为属性,这些属性是自动完成正常工作所必需的……我可以将json数据的任何部分指定为标签和值吗?或者我必须将其声明为标签和值吗?在您的情况下,我将调用id->值和帐户\u name->labelIm抱歉…我不明白。你能给我举个例子吗?确保你的json对象中有标签和值作为属性,这些属性是自动完成正常工作所必需的…我可以指定json数据的任何部分作为标签和值吗?或者我必须将其声明为标签和值吗?在你的情况下,我将调用id->value和对不起,我不明白。你能给我举个例子吗?