【问题标题】:Add sort or search setting to a JQuery auto-complete?将排序或搜索设置添加到 JQuery 自动完成?
【发布时间】:2014-03-11 10:46:02
【问题描述】:

我在搜索文本框上有一个 JQuery 自动完成功能。 我已经用名字列表填满了它。 当用户输入一个字母时,将显示包含该字母的所有名称。

我想改变它,所以如果输入字母 A,所有以字母 A 开头的名字都会显示出来。

如何将搜索设置添加到 JQuery 自动完成功能?

您将在下面看到我如何设置自动完成功能,是否有搜索条件或我可以添加的内容?

$('#txtSearch').autocomplete({
source: Search,
select: function (event, ui) {
   //Do things with selected item.
}
});

提前致谢。

【问题讨论】:

    标签: jquery autocomplete


    【解决方案1】:

    这行得通:D

    http://jsfiddle.net/Gm9Bz/14/

    var json = ["JOAQUIN", "BERNARDINO", "MODOC","ALASKA","MADERA", "ANDERSON", "Kingston","Kala","Aka"];
    json.sort();
    
    
    $('input').autocomplete({
      source: function( request, response ) {
        var matches = $.map( json, function(json) {
          if ( json.toUpperCase().indexOf(request.term.toUpperCase()) === 0 ) {
            return json;
          }
        });
        response(matches);
      }
    });
    

    【讨论】:

      【解决方案2】:

      您需要修改返回给您的来源。

      var values = ['Andrew', 'Bacon', 'Charlie'];
      
      $("#txtSearch").autocomplete({
         source: function(request, response) {
            var expression = new RegExp("^"+request.term, "i");
            response(
                values.filter(function(elem){              
                    return expression.test(elem);
                })
            );
         }
      });
      

      jsFiddle

      在 CoffeeScript 中看起来非常漂亮:

      values = ['Andrew', 'Bacon', 'Charlie']
      
      $("#txtSearch").autocomplete
        source: (request, response) ->
          expression = new RegExp "^#{request.term}", "i"
          response values.filter (elem) -> expression.test elem
      

      【讨论】:

        猜你喜欢
        • 2012-07-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-09-16
        • 2015-01-05
        • 2013-08-20
        相关资源
        最近更新 更多