我已经为客户实现了 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/