Javascript 如何突出显示与已键入文本匹配的jQuery自动完成结果?

Javascript 如何突出显示与已键入文本匹配的jQuery自动完成结果?,javascript,jquery,jquery-ui,jquery-autocomplete,jquery-ui-autocomplete,Javascript,Jquery,Jquery Ui,Jquery Autocomplete,Jquery Ui Autocomplete,我已经为一个客户端实现了jQuery自动完成。现在,他们希望我突出显示(例如,将结果中与他们键入的文本匹配的部分设置为粗体) e、 g.用户输入“某物”,结果如下: 某物 某物 另一件事 做点别的事 这个功能是否内置在jQuery自动完成中?如果是,是什么 或者这是我必须自己实现的事情?如果是这样,我从哪里开始呢?我以前也有同样的要求。 下面的代码可能适合您 “您需要小心使用选择器” $(“#输入搜索框”) .自动完成({ //你的代码 }) .数据(“自动完成”)。\u renderItem

我已经为一个客户端实现了jQuery自动完成。现在,他们希望我突出显示(例如,将结果中与他们键入的文本匹配的部分设置为粗体)

e、 g.用户输入“某物”,结果如下:

某物

某物

另一件事

做点别的事

这个功能是否内置在jQuery自动完成中?如果是,是什么


或者这是我必须自己实现的事情?如果是这样,我从哪里开始呢?

我以前也有同样的要求。

下面的代码可能适合您

“您需要小心使用选择器”


$(“#输入搜索框”)
.自动完成({
//你的代码
})
.数据(“自动完成”)。\u renderItem=功能(ul,项目){
变量项=$(“
  • ”)。数据(“ui自动完成项”,项); //“匹配”和“关键变量”以粗体蓝色突出显示下拉项的用户输入呈现。 var match=new RegExp(“^”+this.term,“i”);//i使regex不区分大小写 //更改所有项的初始类型字符。标签替换为纯JS var key=item.label.replace( 匹配, “+this.term+” ); items.html(“+key+”).append(ul); };

    如果您需要更多帮助来实现此代码,请告诉我。

    哪个自动完成-jQuery UI中的自动完成,还是其他实现之一?例如,我认为(不推荐的)已经这样做了,但是API不同,可以将它们插入到您的页面中。@Rup:这一个:检查这个:将“g”添加到正则表达式标志中,以突出显示所有匹配项,而不仅仅是一个
    <script>
      $("#input-search-box")
        .autocomplete({
          //your code
        })
        .data("autocomplete")._renderItem = function(ul, item) {
        var items = $("<li></li>").data("ui-autocomplete-item", item);
        //match and key variables highlight the user's typed input rendering in bold blue for dropdown items.
        var match = new RegExp("^" + this.term, "i"); //i makes the regex case insensitive
    
        //change initial typed characters of all item.label   replace is plain JS
        var key = item.label.replace(
          match,
          '<span class="required-drop">' + this.term + '</span>'
        );
    
        items.html("<a>" + key + "</a>").append(ul);
      }; 
    </script>