Проблема следующая : получаю AJAXом ответ с сервера (на сервере делается запрос в БД, субд- оракл). JSON приходит, вроде, не закодированный (смотрел через консоль фаербага в лисе) :
Код:
|
{"row":[{"value":108,"display":"fsdfsf"},{"value":109,"display":"d"},{"value":110,"display":"sddsds"},{"value":116,"display":"two"},{"value":117,"display":"long"},{"value":118,"display":"Тестовый тест"}]} |
Заголовок ответа :
Код:
|
X-Powered-By Servlet/3.0
Server GlassFish Server Open Source Edition 3.0.1
X-ORACLE-IGNORE IGNORE, IGNORE, IGNORE, IGNORE
Content-Type text/html;charset=UTF-8
Transfer-Encoding chunked
Date Mon, 24 Jan 2011 23:19:09 GMT |
Далее с помощью Jquery я его распарсиваю, и ставлю как source для автокомплита..
И проблема в том, что он не фильтрует содержимое источника по вводимым данным. И это не только из-за наличия кириллицы в jsone, он просто не хочет фильтровать данные из этого json'a.
Если ввести массив вручную, то все фильтруется( если, конечно, в нем отсутствует кириллица).
Данные (в дропдаун листе автокомплита) отображаются верно, сортируются по полю value, но по полю display - нет.
Вот код:
var ajaxRequest = new htmldb_Get(null, $v('pFlowId'), 'APPLICATION_PROCESS=get_agency_list', 190)
var agency_list=$.parseJSON(ajaxRequest.get()).row;
$('#P999_AGENCY_TEST').autocomplete({
minLength: 0,
source: agency_list,
focus: function( event, ui ) {
$("#P999_AGENCY_TEST").val(ui.item.display);
return false;
},
select: function( event, ui ) {
$("#P999_AGENCY_TEST").val(ui.item.display);
return false;
}
})
.data( "autocomplete" )._renderItem = function( ul, item ) {
return $( "<li></li>" )
.data( "item.autocomplete", item )
.append( "<a>" + item.display + "</a>" )
.appendTo( ul );
};
$('#P999_AGENCY_TEST').autocomplete("enable");