我在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);
};
答案 0 :(得分:1)
将值标记为JSON属性对自动完成有很大帮助,实际上它们是该窗口小部件的默认属性。 以下是自动填充的一个有效示例:
我刚刚更改了system_id
中的json value
和account_name
中的label
。
这样做了一些自动完成功能是微不足道的,所以我删除了它们。