我在angularJS中使用了ng-repeat和filter,例如电话教程,但我想在页面中突出显示搜索结果。使用基本的jQuery,我只需在输入的键上解析页面,但是我试图以 Angular 方式进行操作。有任何想法吗 ?

我的代码:

<input id="search" type="text" placeholder="Recherche DCI" ng-model="search_query" autofocus>
<tr ng-repeat="dci in dcis | filter:search_query">
            <td class='marque'>{{dci.marque}} ®</td>
            <td class="dci">{{dci.dci}}</td>
 </tr>

最佳答案

对于AngularJS v1.2 +

HTML:

<span ng-bind-html="highlight(textToSearchThrough, searchText)"></span>

JS:
$scope.highlight = function(text, search) {
    if (!search) {
        return $sce.trustAsHtml(text);
    }
    return $sce.trustAsHtml(text.replace(new RegExp(search, 'gi'), '<span class="highlightedText">$&</span>'));
};

CSS:
.highlightedText {
    background: yellow;
}

关于angularjs - 在AngularJS中突出显示过滤结果,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15519713/

10-10 00:30
查看更多