0

我想为单个文本框使用多个 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”,它会显示 India,GreatIndia,如果我输入“@Gr”,它也必须在文本框中显示 India,GreatIndia。

同样,对于相同的文本框,如果我键入“>bl”,它应该显示为蓝色,平静

4

1 回答 1

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
}

(前几天我有一个类似的场景(你的不同之处在于必须使用组件本身动态设置 url))

于 2012-08-08T15:07:50.087 回答