jquery ui 自动完成检索到的项目数

发布于 2024-12-11 18:43:18 字数 452 浏览 0 评论 0原文

使用 jquery ui 自动完成我需要知道调用服务器后检索到的项目数。

这是我的自动完成功能

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

我在哪里以及如何获取项目数量和/或项目集合?

提前致谢

Using jquery ui autocomplete I need to know the number of items retrieved after calling to the server.

This is my autocomplete

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

Where and how can I get the number of items and/or the collection of items?

Thanks In Advance

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

孤芳又自赏 2024-12-18 18:43:18

目前没有内置方法可以执行此操作,但您可以向 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();
    }
});

在 AJAX 请求的 success 回调中,您可以使用 data.length 执行任何您想要的操作。

Currently there's no built-in way to do this, but you can provide a function to the source option and perform your AJAX request manually:

$("#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();
    }
});

In the success callback for the AJAX request, you can do whatever you'd like with data.length.

捶死心动 2024-12-18 18:43:18

您应该能够利用自动完成的响应事件,该事件在搜索之后但在显示结果之前触发。

根据文档,ui.content包含结果,可以修改以更改将显示的结果。

请参阅:http://wiki.jqueryui.com/w/page/12137709/Autocomplete

You should be able to make use of the response event of autocomplete which fires after the search but before the results are shown.

According to the documentation, ui.content contains the result and can be modified to change the results that will be shown.

See: http://wiki.jqueryui.com/w/page/12137709/Autocomplete

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文