2016-11-23 64 views
0
<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這導致html divng-repeat現在顯示任何內容。否則,如果輸入了某些東西,並且從firstname得到某些東西,它將返回true並顯示與搜索輸入對應的數據。但在我的情況下,它不會,我不知道爲什麼。

+1

你想要什麼,請解釋更 –

回答

0

第2條if語句存在錯誤。當您應該使用$ scope.searchBuddy時,您指的是$ scope.searchText,因爲這是您使用的模型值。

+0

我編輯它爵士,但仍然不會工作 – Nevin

+0

見https://plnkr.co/edit/EPPJy0NTKi5Yhaqh3xgT? p =預覽 – jtsnr

0

用你的NG-模型過濾

<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> 
0
if(item.firstname.toLowerCase().indexOf($scope.searchBuddy.toLowerCase())!= -1) { 
     return true; 
+0

它仍然無法工作先生..我編輯它,並刪除if函數只留下else {return true;}但仍然不會返回true .. – Nevin