JQuery UI автозаполнение количество полученных предметов - PullRequest
1 голос
/ 26 октября 2011

При использовании автозаполнения jquery ui мне нужно знать количество элементов, полученных после обращения к серверу.

Это мое автозаполнение

    $("#descripcionArticuloEditandoTextBox").autocomplete({
        autoFocus: true,
        minLength: 3,
        source: '@Url.Action("ObtenerArticulos", "Articulo")',
        select: function (event, ui) {
            articuloModelo = cargarArticulo(ui.item.Id);
            articuloSeleccionado();
        }
    });

Где и как я могу получить количество предметов и / или коллекцию предметов?

Заранее спасибо

Ответы [ 2 ]

0 голосов
/ 26 октября 2011

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

$("#descripcionArticuloEditandoTextBox").autocomplete({
    autoFocus: true,
    minLength: 3,
    source: function (request, response) {
        $.ajax({
            url: '@Url.Action("ObtenerArticulos", "Articulo")',
            data: request,
            dataType: "json",
            success: function(data) {
                // Do things with data.length here
                response(data);
            },
            error: function() {
                response([]);
            }
        });    
    },
    select: function (event, ui) {
        articuloModelo = cargarArticulo(ui.item.Id);
        articuloSeleccionado();
    }
});

В обратном вызове success дляAJAX-запрос, вы можете делать все, что вы хотите с data.length.

0 голосов
/ 26 октября 2011

Вы должны быть в состоянии использовать событие автозаполнения response , которое срабатывает после поиска, но до отображения результатов.

Согласно документации, ui.content содержит результат и может быть изменен для изменения результатов, которые будут показаны.

См .: http://wiki.jqueryui.com/w/page/12137709/Autocomplete

...