javascriptのJSONオブジェクト/文字列内の配列フィールドをフィルタリングするチェックボックスに問題があります。json配列フィールドを反復する
は、ここに私のHTMLです:元jsfiddleは、単一の項目の色フィールド、色のない配列のオフに基づいていた
$scope.fruit = [
{'name': 'Apple', 'colour': ['Red']},
{'name': 'Orange', 'colour': ['Red','Orange']},
{'name': 'Banana', 'colour': ['Yellow','Orange']}];
:
<div ng-app="fruit">
<div ng-controller="FruitCtrl">
<input type="checkbox" ng-click="includeColour('Red')"/> Red</br/>
<input type="checkbox" ng-click="includeColour('Orange')"/> Orange</br/>
<input type="checkbox" ng-click="includeColour('Yellow')"/> Yellow</br/>
<ul>
<li ng-repeat="f in fruit | filter:colourFilter">
{{f.name}}
</li>
</ul>
Filter dump: {{colourIncludes}}
</div>
</div>
はここに私のデータです。
original:
{'name':'Apple','colour':'Red'}
my version:
{'name':'Apple','colour':['Red','Yellow']}
そして、これはそれが濾過した方法です:私は試合を見つけることができない理由として
任意のアイデア:
$scope.colourFilter = function(fruit) {
if ($scope.colourIncludes.length > 0) {
var data = fruit.colour;
if ($.inArray(fruit.colour, $scope.colourIncludes) < 0)
return;
}
return fruit;
}
私はそうのようなフィルタリングしようとしていますか?私は正しく配列をスキャンしていないと思いますか?
実際、問題はあなたのデータ変数です。 – jmugz3
私のデータ配列構造が正しくないのですか?私はカラー配列の定義を推測しますか? –
私の答えを見てください。 – jmugz3