我想为单个文本框使用多个jQuery自动完成,其中每个自动完成的数据源都不同。我有两个数据源,一个用于在文本框中键入@,另一个用于键入>在文本框中。
例如:
// Datasource1
country = {[name:india, displayname:GreatIndia] [name:china , displayName:BigChina] [name:usa , displayname:unitedstates }
// Datasource2
colors = {[colorName:Red , Statistic:Dark] [colorName:blue , Statistic:calm] [colorName:Green , Statistic:Cool] }
如果我输入“@In”它会显示印度,GreatIndia如果我键入“@Gr”,它还必须在文本框中显示印度,GreatIndia。
同样对于相同的文本框,如果我输入“> bl”,它应该显示蓝色,平静
答案 0 :(得分:0)
这可能不是一个完美的答案,但它可以作为一个起点。
我还没有对此进行过测试,但你可能会做这样的网址吗?
$("#id").autocomplete({
source: function (request, response) {
$.ajax({
url: function(request.term),
dataType: "json",
data: {
filter: request.term
},
success: function (data) {
//do something
}
})
},
select: function (event, ui) {
//do something
}
});
function(term)
{
//implement logic that
//returns a string url
}
(前几天我有一个somewhat similar场景(你的不同之处在于必须使用组件本身动态设置url))