自动完成——颜色输入建议文本

Posted

技术标签:

【中文标题】自动完成——颜色输入建议文本【英文标题】:Autocomplete -- Color Input Suggestion Text 【发布时间】: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

谢谢,如果您需要我提供任何进一步的信息,请告诉我!

【问题讨论】:

【参考方案1】:

没关系。

我刚刚在 Angular UI Bootstrap Typeahead 中完成了所有工作。比 JQuery 自动完成好多了。

这里是它的链接:https://angular-ui.github.io/bootstrap/(搜索 Typeahead 以在页面上找到它)。

如果您正在使用 Angular 并尝试执行自动完成功能,请检查一下!

【讨论】:

【参考方案2】:

检查工作演示以获得简化的自动完成功能:JSFiddle。

angular.module('Joy', [])
    .directive('autoComplete', [function () 
    return 
        restrict: 'AE',
        scope: true,
        template:
            '<div>' +
            '<input type="text" ng-model="keyword" ng-change="showDropdown()">' +
            '<ul class="hit-list">' +
            '<li ng-repeat="hit in hits" ng-bind="hit">' +
            '</ul>' +
            '</div>',
        controller: ['$scope', '$timeout', function ($scope, $timeout) 
            $scope.showDropdown = function () 
                $timeout(function () 
                    $scope.hits = ['Hit One', 'Hit Two', 'Hit Three'];
                , 1000);
            ;
        ]
    ;
]);

【讨论】:

以上是关于自动完成——颜色输入建议文本的主要内容,如果未能解决你的问题,请参考以下文章

单击谷歌浏览器自动完成建议后如何设置文本输入样式?

Angular js自动完成预先输入

谷歌自动完成 - 输入选择

如何使用 jquery ui 自动完成使匹配的文本变为粗体?

文本框中的自动完成文本

在自动完成表单上将输入背景更改为透明