【发布时间】:2015-10-19 08:10:56
【问题描述】:
我创建了Masked Armory,现在使用 Angular + Laravel 5 重建整个网站。
这是 Angular 方面的一次学习经历,我还需要一块来完成这个难题。
如果您查看当前的 Masked Armory 网站,请在“服务器名称”框中输入一些字母,您会看到这些字母在建议中突出显示。
如何在 Angular 指令中复制此功能?
当前用于自动完成的 Angular 指令:
function autoComplete ($timeout) {
return function(scope, iElement, iAttrs) {
iElement.autocomplete({
source: scope[iAttrs.uiItems],
select: function() {
$timeout(function() {
iElement.trigger('input');
}, 0);
},
});
};
}
directivesModule.directive('autoComplete', autoComplete);
我在以前的网站版本中使用的功能是这样的:
var reEscape = new RegExp("(\\" + ["/", ".", "*", "+", "?", "|", "(", ")", "[", "]", "{", "}", "\\"].join("|\\") + ")", "g");
var fnFormatResult = function(value, data, currentValue) {
var pattern = "(" + currentValue.replace(reEscape, "\\$1") + ")";
return value.replace(new RegExp(pattern, "gi"), "<strong>$1</strong>");
};
可以在这里找到我之前网站上自动完成的整个 JS 细分:http://www.maskedarmory.com/js/js.includes.js
谢谢,如果您需要我提供任何进一步的信息,请告诉我!
【问题讨论】:
标签: javascript jquery angularjs autocomplete