使用WCF数据服务进行jQuery自动完成

时间:2011-01-11 12:21:15

标签: jquery autocomplete wcf-data-services

我计划使用jQuery自动完成(非UI自动完成)插件从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,因为我的数据服务也被其他应用程序使用。

1 个答案:

答案 0 :(得分:0)

确定。问题得到解决。我将extraParams选项调整为

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

希望它对其他人有益。