2013-10-04 59 views
1

我很抱歉對我的問題進行了混亂的描述。我希望你能理解它。 我有這樣的HTML代碼:Angular.js - 用ng-repeat搜索過濾器對象

<form> 
    <input ng-model="attr.query" type="text" placeholder="{{attr.attr_name}}" ng-repeat="attr in attrs"> 
</form> 
<table>     
    <tr ng-repeat="element in elements"> 
     <td ng-repeat="(key, value) in element">{{value}}</td> 
    </tr> 
</table> 

JS控制器:

$scope.attrs = [{'descr':'descr1'},{'descr':'descr2'}]; 
$scope.elements = [{'property1" : 'value1', 'property2' : 'value2'},{'property1" : 'value3', 'property2' : 'value4'}]; 

我需要通過查詢從輸入到篩選的每種。但我只需要在輸入字段中使用相同的attr進行過濾。

enter image description here

我有一些麻煩將過濾器應用於對象的數組。

感謝

回答

1

如果我理解正確的話(我沒有足夠的代表要求在評論,抱歉),你要過濾的一個或多個幾個屬性的數據。

最簡單的方法可能是通過定義一個自定義過濾器函數來訪問您的範圍。 AngularJS的filter篩選器will happily accept作爲評估者。

$scope.customFilter = function(item) { 
    var passed = true; 
    if(/* the item doesn't pass muster */) { 
     passed = false; 
    } 
    return passed; 
} 

如果有幫助,我將放在一起a fiddle來演示。 (注意查詢字段區分大小寫。)