Angularjsでは非常に新しいです。複数のキー値でフィルタリングできますが、ここでは単一の値でフィルタリングする必要がありますが、複数の値を含む親データです。Angularjs親データの単一キー複数の値を持つフィルタ
$scope.movies = [{name:'aa', criteria:'SECURITY TYPE:Stocks|GEOGRAPHY:US'},
{name:'bb', criteria:'TRADING STRATEGY:Monthly|YIELD:Mid,Blend'},
{name:'cc', criteria:'SECURITY TYPE:Stocks|YIELD:Mid,Blend'},
{name:'dd', criteria:'MARKETCAPITALIZATION:Mega|VOLATILITY:Low'}];
$scope.filterByProperties = function (data) {
return $scope.filter[data.criteria] || noSubFilter($scope.filter);
};
function noSubFilter(subFilterObj) {
for (var key in subFilterObj) {
if (subFilterObj[key]) return false;
}
return true;
}
ビューファイルで:コントローラで
同様
<label>SECURITY TYPE</label>
<input type="checkbox" ng-model="filter['Stocks']"> Stocks
<label>Yield</label>
<input type="checkbox" ng-model="filter['Mid']"> Mid
しかし、私は、チェックボックスからそれらをフィルタリングする方法を複数の値を含むdata.criteriaフィールドとして
?
"基準" の値は文字列です。あなたがそれをオブジェクトとしてthreatingしているようです。 – yBrodsky