jQuery 自动完成与 WCF 数据服务

发布于 2024-10-11 21:12:06 字数 919 浏览 3 评论 0原文

我计划使用 jQuery Autocomplete(不是 UI Autocomplete)插件从 WCF 数据服务获取数据。如果我想获取所有数据,我可以通过直接触发查询来做到这一点。但是,如果我想根据输入的初始字符获取数据,我无法将该值传递给数据服务。我的自动完成代码看起来像是

('#txtUsers')
    .autocomplete("http://localhost/DataService/DataService.svc/Users?$format=json", {
        width: 320,
        max: 10,
        minChars: 3,
        matchSubset: true,
        cacheLength: 100,
        extraParams: { "$filter" : "startswith(Name, '"+$(this).val()+"')" },
        formatItem: function(data, i, n, value, term) {
            return value;
        },
        parse: function(data) {
            return $.map(data.d, function(row, i) {
                return {
                    data: row,
                    value: row,
                    result: row
                }
            });
        }
    })

我也尝试使用 extraParams 传递它,但它保留空白值。如何将自动完成功能与 WCF 数据服务结合使用?我不想添加任何 QueryInterceptors,因为我的数据服务也被其他应用程序使用。

I am planning to use jQuery Autocomplete (Not UI Autocomplete) plugin to fetch data from WCF Data Service. If I want to fetch all data, I can do that by directly firing query. However if I want to fetch data based on initial chars entered, I am not able to pass the value to the data service. My autocomplete code looks like

('#txtUsers')
    .autocomplete("http://localhost/DataService/DataService.svc/Users?$format=json", {
        width: 320,
        max: 10,
        minChars: 3,
        matchSubset: true,
        cacheLength: 100,
        extraParams: { "$filter" : "startswith(Name, '"+$(this).val()+"')" },
        formatItem: function(data, i, n, value, term) {
            return value;
        },
        parse: function(data) {
            return $.map(data.d, function(row, i) {
                return {
                    data: row,
                    value: row,
                    result: row
                }
            });
        }
    })

I tried to pass it with extraParams too but it holds blank value. How can I use autocomplete with WCF Data Services? I do not want ot add any QueryInterceptors as my data services is used by other apps also.

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

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

发布评论

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

评论(1

失而复得 2024-10-18 21:12:06

好的。问题已解决。我调整了 extraParams 选项,

extraParams: {
    "$filter": function() { return "startswith(Name, '" + $('#txtUsers').val() + "')" }
}

希望它对其他人有益。

Ok. The issue is resolved. I tweaked the extraParams option to

extraParams: {
    "$filter": function() { return "startswith(Name, '" + $('#txtUsers').val() + "')" }
}

Hopefully it could be beneficial for others.

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