-2
ng-repeat
を使用してテーブルのデータを表示しています。今度は、角度ドロップダウンmultiselect
のチェックされた値に基づいてデータをフィルタリングする必要があります。どのようにそれを行う誰も私を助けることができますか?角度ドロップダウンマルチセレクションの値に基づいてng-repeatのデータをフィルタリングする方法
ng-repeat
を使用してテーブルのデータを表示しています。今度は、角度ドロップダウンmultiselect
のチェックされた値に基づいてデータをフィルタリングする必要があります。どのようにそれを行う誰も私を助けることができますか?角度ドロップダウンマルチセレクションの値に基づいてng-repeatのデータをフィルタリングする方法
私はいくつかの仮定をするつもりです。最初は、私がそれを見つけたときに最初に見たAngular Dropdown Multiselectを使っているということです。彼らのサイトは少し壊れているように見えますが、あなたのモデルはIDとDisplayを持つオブジェクトの配列でなければなりません。この場合、フィルタを使用できます。フィルタでは、一致するIDに基づいて配列をコンパイルするだけです。お使いのコントローラがどのように見えるのであれば:
app.controller('Ctrl', function($scope) {
$scope.FilterPhrase = [
{ID:6, Display:"Display6"},//this wont show up
{ID:3, Display:"Display3"},
{ID:1, Display:"Display1"}];
$scope.myData = [{ID:1, Display:"Display1"},
{ID:2, Display:"Display2"},
{ID:3, Display:"Display3"},
{ID:4, Display:"Display4"},
{ID:5, Display:"Display5"}];
});
その後、フィルタを作成します。
app.filter('multifilter', function() {
return function (list, filterdata) {
var results = [];
filterdata.forEach(function(a){
var r = list.find(function(b){
return a.ID==b.ID;
});
results.push(r);
});
return results;
};
});
そして最後に、あなたのNGリピートの終わり
<tr ng-repeat="n in myData | multifilter:FilterPhrase">
フィドルでそれを呼び出す:http://jsfiddle.net/brhardwick/promv3e1/2/
を
コードサンプルを表示するか、ケースのjsfiddleの設定を改善してください。 –
これはruby-on-railsとは関係ありません。 – brhardwick