我计划使用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,因为我的数据服务也被其他应用程序使用。
答案 0 :(得分:0)
确定。问题得到解决。我将extraParams选项调整为
extraParams: {
"$filter": function() { return "startswith(Name, '" + $('#txtUsers').val() + "')" }
}
希望它对其他人有益。