jquery-ui-autocomplete – 覆盖_renderMenu和_renderItem

我使用 jquery-ui实现了自动完成功能.我想将显示的项目数量限制为10,每个项目自定义格式化.这是代码

$("#text1").autocomplete({
  minLength: 2,source: function (request,response) {
  var matcher = new RegExp($.ui.autocomplete.escapeRegex(request.term),"i"),results = [];
  $.each(source,function (i,value) {
    if (matcher.test(value.value) && $.inArray(value.label,results) < 0) {
    results.push(value.label);
    }
   });

  response(results);
  }
 }).data("autocomplete")
      ._renderMenu = function(ul,items) {
        var self = this;
        $.each(items,function (index,item) {
            if (index < 10) {
              $.ui.autocomplete.prototype._renderItem = function(ul,item) {
                var re = new RegExp("^" + this.term,"i");
                var t = item.label.replace(re,"<span style='font-weight:bold;color: Blue;'>" + "$&" + "</span>");
                var listItem = $("<li></li>")
                               .data("item.autocomplete",item)
                               .append("<a>" + t + "</a>")
                               .appendTo(ul);
                return listItem;

              }
            }
            });
      };

这似乎不起作用,因为它没有抛出任何结果.对此有何帮助?

解决方法

我想到了.似乎我必须覆盖_renderMenu和_renderItem.它现在有效.

相关文章

1.第一步 设置响应头 header(&#39;Access-Control-Allow...
$.inArray()方法介绍 $.inArray()函数用于在数组中搜索指定的...
jquery.serializejson.min.js的妙用 关于这个jquery.seriali...
JS 将form表单数据快速转化为object对象(json对象) jaymou...
jQuery插件之jquery.spinner数字智能增减插件 参考地址:http...