Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Jquery Autocomplete+JSON с кириллицей. (https://javascript.ru/forum/jquery/14656-jquery-autocomplete-json-s-kirillicejj.html)

andrewshkovskii 25.01.2011 02:28

Jquery Autocomplete+JSON с кириллицей.
 
Проблема следующая : получаю 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");


Часовой пояс GMT +3, время: 10:27.