为单个文本框使用多个jquery自动完成数据源

时间:2012-08-08 14:37:05

标签: jquery jquery-autocomplete

我想为单个文本框使用多个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”,它应该显示蓝色,平静

1 个答案:

答案 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))