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

标签 javascript jquery jquery-ui jquery-autocomplete jquery-ui-autocomplete

我已经为客户实现了 jQuery 自动完成功能。现在,他们希望我突出显示(例如,加粗)结果中与他们输入的文本相匹配的部分。

例如用户输入“something”,结果如下:

某物一个

某物 b

另一个东西

某事其他

此功能是否内置于 jQuery 自动完成中?如果有,那是什么?

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

最佳答案

我之前也有同样的需求。

以下代码可能适合您。

“你需要小心选择器”

<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>

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

关于javascript - 如何突出显示与已键入文本匹配的 jQuery 自动完成结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7146588/

相关文章:

javascript - Record<string,any> 和 {} 之间的区别?

jquery ui 自动完成与委托(delegate)

jquery - 根据输入的值改变 slider 的位置

javascript - 在图表内显示标签 - angular.js 和 chart.js

javascript - 首先隐藏然后使用 jQuery 根据下拉选择显示多个 tbody 组

javascript - 使用 jQuery 遍历同级元素来查找下一个和上一个 div

javascript - 获取子元素的值

javascript - 更改整个 html 文档的 FontSize 的简单方法

jquery - Phonegap 捕获图像然后将其上传到 REST Web 服务

javascript - 图像可拖动到特定的 x,y 坐标