<input type="text" ng-model="searchBuddy" placeholder="search" />
<div class="square">
<div class="list no-padding" ng-repeat='buddy in buddyList | filter : search'>
<a class="item item-avatar" href="#">
<img src="{{buddy.photoURL}}">
<h2>{{buddy.firstname}}</h2>
<p>{{buddy.lastname}}</p>
</a>
</div>
</div>` 这是我的HTML代码
$scope.search = function (item) {
if($scope.searchBuddy == undefined || $scope.searchBuddy == '' ) {
return false;
} else {
if(item.firstname.toLowerCase().indexOf($scope.searchBuddy.toLowerCase())!= -1) {
return true;
}
}
return false;
}这是我的控制器代码
在我看到的示例中,如果输入searchbuddy为空,它将返回false,这将导致带有ng-repeat的html div现在显示任何内容。否则,如果输入了一些内容,并且以某种方式从firstname获取了一些内容,它将返回true,并显示与搜索输入相对应的数据。但在我的情况下,它不会,我不知道为什么。
发布于 2016-11-24 03:02:37
您的第二个if语句中有一个错误。当它应该是$scope.searchBuddy时,您引用的是$scope.searchText,因为这是您正在使用的模型值。
发布于 2016-11-24 03:22:59
使用带有过滤器的ng-model
<input type="text" ng-model="searchBuddy" placeholder="search"/>
<div class="square">
<div class="list no-padding" ng-repeat="buddy in buddyList |searchBuddy'>
<a class="item item-avatar" href="#">
<img src="{{buddy.photoURL}}">
<h2>{{buddy.firstname}}</h2>
<p>{{buddy.lastname}}</p>
</a>
</div>
</div>发布于 2016-11-24 03:27:28
if(item.firstname.toLowerCase().indexOf($scope.searchBuddy.toLowerCase())!= -1) {
return true;https://stackoverflow.com/questions/40769884
复制相似问题