Установите значение и отображаемое свойство для источника автозаполнения jquery - PullRequest
1 голос
/ 03 ноября 2011

У меня есть удаленный источник, который не возвращает идентификатор, значение или метку. Как я могу использовать его в качестве источника для плагина автозаполнения jquery?

1 Ответ

2 голосов
/ 03 ноября 2011

Вы должны передать source функцию, которая делает запрос AJAX вручную, а затем выполняет некоторую постобработку возвращенных данных:

source: function(request, response) {
    $.ajax({
        url: url,
        data: request,
        dataType: "json",
        success: function(data) {
            var processedData = $.map(data, function(item) {
                return {
                    value: item._your_property, // Property you want to use for "value"
                    label: item._another_property // Property you want to use for "label"
                }
            });
            response(processedData);
        },
        error: function() {
            response([]);
        }
    });
}

В основном, используйте $.map чтобы превратить полученный массив обратно в массив объектов, поддерживаемых виджетом автозаполнения.

Для рабочего примера посмотрите пример JSONP на демонстрационной странице jQueryUI.

...