如何仅突出显示Jquery自动完成匹配的单词?

如何仅突出显示Jquery自动完成匹配的单词?,jquery,jquery-ui-autocomplete,Jquery,Jquery Ui Autocomplete,我正在使用Jquery自动完成来搜索列表,它工作得很好,但我只需要高亮显示列表中匹配单词的背景,我怎么能点这个呢 这就是我迄今为止所尝试的。 var availableTags=[ ‘DHA ABC’, ‘DHA BB’, ‘DHA CC’, ]; $(“#标记”)。自动完成({ 资料来源:availableTags, 搜索:功能(事件、用户界面){ $(“#包装器”).empty(); }, 选择:功能(e、ui){ $(this.val(ui.item.name); 返回false; },

我正在使用Jquery自动完成来搜索列表,它工作得很好,但我只需要高亮显示列表中匹配单词的背景,我怎么能点这个呢

这就是我迄今为止所尝试的。

var availableTags=[
‘DHA ABC’,
‘DHA BB’,
‘DHA CC’,
];
$(“#标记”)。自动完成({
资料来源:availableTags,
搜索:功能(事件、用户界面){
$(“#包装器”).empty();
},
选择:功能(e、ui){
$(this.val(ui.item.name);
返回false;
},
}).data('autocomplete')。\u renderItem=功能(ul,项目){
matchFound=0;
var cls=this.options.highlightClass;
var inp=$(“#标记”).val().split(“”);
var template=“$1”;
var items=item.label.split(“”);
对于(变量i=0;i-1){
matchFound+=1;
}
}
if(matchFound==inp.length){
返回$('')
.data('item.autocomplete',item.label)
.append(“”)
.appendTo($(“#wrapper”);
打破
}
}
};

非常简单,只需将属性设置为div,如下所示

<div class="element" style="background-color:green; width:30%;"></div>

你的代码应该是这样的

var availableTags = [
  'DHA 11 Rahbar',
  'DHA City',
  'DHA Defence',
  'Dhalloke',
  'Dharampura',
  'DHA 11 Rahbar Phase 1',
  'DHA 11 Rahbar Phase 2',
  'DHA 11 Rahbar Phase 2 Extension',
  'DHA 9 Town',
  'DHA Phase 1',
  'DHA Phase 10',
  'DHA Phase 10',
  'DHA Phase 11 - Halloki Gardens',
  'DHA Phase 2',
  'DHA Phase 3',
  'DHA Phase 4',
  'DHA Phase 5',
  'DHA Phase 6',
  'DHA Phase 7',
  'DHA Phase 8',
  'DHA Phase 9 Prism',
  'DHA - EME Cottages'

];

$('#tags').autocomplete({

    source: availableTags,
    search: function(event, ui) {
      $('#wrapper').empty();
    },
    select: function(e, ui) {
      $(this).val(ui.item.name);
      return false;
    },
  })

  .data('autocomplete')._renderItem = function(ul, item) {
    matchFound = 0;
    var cls = this.options.highlightClass;
    var inp = $("#tags").val().split(" ");
    var template = "<span class='" + cls + "'>$1</span>";
    var items = item.label.split(" ");
    for (var i = 0; i < items.length; i++) {
      for (var j = 0; j < inp.length; j++) {
        index = items[i].toUpperCase().indexOf(inp[j].toUpperCase());
        if (index > -1) {
          matchFound += 1;
        }
      }
      if (matchFound == inp.length) {
        return $('<div class="element" style="background-color:green; width:30%;"></div>')
          .data('item.autocomplete', item.label)
          .append('<a href="javascript:void(0);">' + item.label + '</a>')
          .appendTo($('#wrapper'));
        break;

      }
    }
  };
var availableTags=[
“DHA 11 Rahbar”,
‘DHA城市’,
“国防部”,
“Dhalloke”,
“达兰普拉”,
“DHA 11 Rahbar一期”,
“DHA 11 Rahbar第2期”,
“DHA 11 Rahbar二期扩建工程”,
“DHA 9镇”,
‘DHA第一阶段’,
‘DHA阶段10’,
‘DHA阶段10’,
“DHA第11期-哈洛基花园”,
‘DHA第二阶段’,
‘DHA第三阶段’,
‘DHA第四阶段’,
‘DHA第五阶段’,
‘DHA第6阶段’,
‘DHA第7阶段’,
‘DHA第8阶段’,
“DHA第9阶段棱镜”,
“DHA-EME别墅”
];
$(“#标记”)。自动完成({
资料来源:availableTags,
搜索:功能(事件、用户界面){
$(“#包装器”).empty();
},
选择:功能(e、ui){
$(this.val(ui.item.name);
返回false;
},
})
.data('autocomplete')。\u renderItem=功能(ul,项目){
matchFound=0;
var cls=this.options.highlightClass;
var inp=$(“#标记”).val().split(“”);
var template=“$1”;
var items=item.label.split(“”);
对于(变量i=0;i-1){
matchFound+=1;
}
}
if(matchFound==inp.length){
返回$('')
.data('item.autocomplete',item.label)
.append(“”)
.appendTo($(“#wrapper”);
打破
}
}
};

选中此项

非常简单,您只需将一个属性设置为div,如下所示

<div class="element" style="background-color:green; width:30%;"></div>

你的代码应该是这样的

var availableTags = [
  'DHA 11 Rahbar',
  'DHA City',
  'DHA Defence',
  'Dhalloke',
  'Dharampura',
  'DHA 11 Rahbar Phase 1',
  'DHA 11 Rahbar Phase 2',
  'DHA 11 Rahbar Phase 2 Extension',
  'DHA 9 Town',
  'DHA Phase 1',
  'DHA Phase 10',
  'DHA Phase 10',
  'DHA Phase 11 - Halloki Gardens',
  'DHA Phase 2',
  'DHA Phase 3',
  'DHA Phase 4',
  'DHA Phase 5',
  'DHA Phase 6',
  'DHA Phase 7',
  'DHA Phase 8',
  'DHA Phase 9 Prism',
  'DHA - EME Cottages'

];

$('#tags').autocomplete({

    source: availableTags,
    search: function(event, ui) {
      $('#wrapper').empty();
    },
    select: function(e, ui) {
      $(this).val(ui.item.name);
      return false;
    },
  })

  .data('autocomplete')._renderItem = function(ul, item) {
    matchFound = 0;
    var cls = this.options.highlightClass;
    var inp = $("#tags").val().split(" ");
    var template = "<span class='" + cls + "'>$1</span>";
    var items = item.label.split(" ");
    for (var i = 0; i < items.length; i++) {
      for (var j = 0; j < inp.length; j++) {
        index = items[i].toUpperCase().indexOf(inp[j].toUpperCase());
        if (index > -1) {
          matchFound += 1;
        }
      }
      if (matchFound == inp.length) {
        return $('<div class="element" style="background-color:green; width:30%;"></div>')
          .data('item.autocomplete', item.label)
          .append('<a href="javascript:void(0);">' + item.label + '</a>')
          .appendTo($('#wrapper'));
        break;

      }
    }
  };
var availableTags=[
“DHA 11 Rahbar”,
‘DHA城市’,
“国防部”,
“Dhalloke”,
“达兰普拉”,
“DHA 11 Rahbar一期”,
“DHA 11 Rahbar第2期”,
“DHA 11 Rahbar二期扩建工程”,
“DHA 9镇”,
‘DHA第一阶段’,
‘DHA阶段10’,
‘DHA阶段10’,
“DHA第11期-哈洛基花园”,
‘DHA第二阶段’,
‘DHA第三阶段’,
‘DHA第四阶段’,
‘DHA第五阶段’,
‘DHA第6阶段’,
‘DHA第7阶段’,
‘DHA第8阶段’,
“DHA第9阶段棱镜”,
“DHA-EME别墅”
];
$(“#标记”)。自动完成({
资料来源:availableTags,
搜索:功能(事件、用户界面){
$(“#包装器”).empty();
},
选择:功能(e、ui){
$(this.val(ui.item.name);
返回false;
},
})
.data('autocomplete')。\u renderItem=功能(ul,项目){
matchFound=0;
var cls=this.options.highlightClass;
var inp=$(“#标记”).val().split(“”);
var template=“$1”;
var items=item.label.split(“”);
对于(变量i=0;i-1){
matchFound+=1;
}
}
if(matchFound==inp.length){
返回$('')
.data('item.autocomplete',item.label)
.append(“”)
.appendTo($(“#wrapper”);
打破
}
}
};
检查此项

var availableTags=[
“DHA 11 Rahbar”,
‘DHA城市’,
“国防部”,
“Dhalloke”,
“达兰普拉”,
“DHA 11 Rahbar一期”,
“DHA 11 Rahbar第2期”,
“DHA 11 Rahbar二期扩建工程”,
“DHA 9镇”,
‘DHA第一阶段’,
‘DHA阶段10’,
‘DHA阶段10’,
“DHA第11期-哈洛基花园”,
‘DHA第二阶段’,
‘DHA第三阶段’,
‘DHA第四阶段’,
‘DHA第五阶段’,
‘DHA第6阶段’,
‘DHA第7阶段’,
‘DHA第8阶段’,
“DHA第9阶段棱镜”,
“DHA-EME别墅”
];
$(“#标记”)。自动完成({
资料来源:availableTags,
搜索:功能(事件、用户界面){
$(“#包装器”).empty();
},
选择:功能(e、ui){
$(this.val(ui.item.name);
返回false;
},
})
.data('autocomplete')。\u renderItem=功能(ul,项目){
matchFound=0;
var cls=this.options.highlightClass;
var inp=$(“#标记”).val().split(“”);
var template=“$1”;
var items=item.label.split(“”);
对于(变量i=0;i-1){
matchFound+=1;
}
}
if(matchFound==inp.length){
var str=item.label;
str=str.replace(inp[0],''+inp[0]+'';
//控制台日志(inp);
返回$(''+str+'')
.data('item.autocomplete',str)
//.append(“”)
.appendTo($(“#wrapper”);
}
}
};
正文{
字体大小:12px;
}
#包装纸{
边缘顶部:50px;
}
.元素{
边框:1px固体粉末蓝色;
}
.ui自动完成{
显示:无!重要;
}

标签:
var availableTags=[
“DHA 11 Rahbar”,
‘DHA城市’,
“国防部”,
“达洛克”