【发布时间】:2017-05-31 23:19:18
【问题描述】:
我在 ul 中有三个列表项。有三个名字:罗伊、山姆、大卫。我可以在点击时切换每个 li 就好了。但是,当我进行搜索并返回时,所选项目不再突出显示。关于如何让他们被选中的任何建议。这是我的 js 小提琴:
var app = angular.module("ap",[]);
app.controller("con",function($scope){
$scope.firstNames = ['Sam', 'David', 'Roy'];
});
app.directive('toggleClass', function() {
return {
restrict: 'A',
link: function(scope, element, attrs) {
element.bind('click', function() {
element.toggleClass(attrs.toggleClass);
});
}
};
});
.active {
background-color:red;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<body ng-app="ap" ng-controller="con">
<input type="text" ng-model="searchText"/>
<ul ng-repeat="firstName in firstNames | filter:searchText">
<li toggle-class="active">{{firstName}}</li>
</ul>
</body>
http://jsfiddle.net/baa2G/126/
谢谢。
【问题讨论】:
-
选择是否应该像单选按钮一样,或者您可以一次选择多个?