2011-03-23 6 views
1

jQuery UI에서 jquery autocomplete 함수에 이상한 문제가 있습니다.jQuery-UI 입력시 Autocompete가 결과를 표시하지 않습니다.

입력 할 때 결과가 나타나지 않습니다. 입력 한 내용을 모두 지우면 자동 완성 결과가 나타납니다.

또한 자동 완성 기능은 일치하는 문자에 대한 검색 결과를 필터링하지 않는 것 같습니다.

여기 코드를 jsfiddle에 입력했습니다. 여기

http://jsfiddle.net/wqgjL/ 라벨을 JSON 속성과 같은 값을 갖는 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

json 객체에 레이블과 값이 있는지 확인하십시오. 제대로 작동하려면 자동 완성이 필요합니다 ... – Dalen

+0

json 데이터의 일부분을 레이블과 값으로 할당 할 수 있습니까? 아니면 레이블과 가치로 선언해야합니까? – Peter

+0

당신의 경우 id-> value와 account_name-> label을 – Dalen

답변

1

의 부분 코드입니다 그들에게 그 위젯의 기본 속성입니다 가리키고, 자동 완성에 많은 도움이됩니다. 난 그냥 변경 한

http://jsfiddle.net/GCur5/

하여 JSON의 system_idvaluelabelaccount_name : 는 여기에 귀하의 자동 완성의 일 예이다.

일부 자동 완성 기능을 사용하면 쉽게 제거 할 수 있습니다.

+0

지금은 의미가 있습니다. 고맙습니다! – Peter

관련 문제