jQuery-UI自动完成功能在输入时不显示结果

时间:2011-03-23 21:14:24

标签: jquery jquery-ui autocomplete

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

当我输入输入时,我没有得到任何结果,如果我删除了我输入的所有内容,则显示自动完成结果。

此外,自动填充似乎不会过滤匹配字符的结果。

我把代码放在jsfiddle这里。 http://jsfiddle.net/wqgjL/

以下是仅包含部分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);
};

1 个答案:

答案 0 :(得分:1)

将值标记为JSON属性对自动完成有很大帮助,实际上它们是该窗口小部件的默认属性。 以下是自动填充的一个有效示例:

http://jsfiddle.net/GCur5/

我刚刚更改了system_id中的json valueaccount_name中的label

这样做了一些自动完成功能是微不足道的,所以我删除了它们。