14

私は数時間検索してきましたが、私の問題に対する答えがどこにも見つからないようです。以前は実装できたことを覚えていますが、何らかの理由でコードを紛失してしまい、それを機能させるために何をしたか思い出せないようです。

ng-options を使用して、配列のデータを選択ボックスに表示しようとしています。それは私が問題を抱えていないものです。実装する必要があるのは、特定の配列値のみが選択ボックスに表示/含まれることです。

私のデータは次のとおりです。

$scope.chartList = [ { "id" : 1, "name" : "chart 1", "order" : 1, "active" : false },
                     { "id" : 2, "name" : "chart 2", "order" : 2, "active" : true },
                     { "id" : 3, "name" : "chart 3", "order" : 3, "active" : true },
                     { "id" : 4, "name" : "chart 4", "order" : 4, "active" : true }, 
                     { "id" : 5, "name" : "chart 5", "order" : 5, "active" : true } ];

そして私のHTMLは次のようになります:

<select ng-model="toAddChart" ng-options="chart.id as chart.name for chart in chartList | filter:chart.active=='false'">
  <option value=""></option>
</select>

したがって、属性「アクティブ」の値が false の場合、配列項目が選択リストに表示/含まれるのはそのときだけです。フィルター属性のさまざまな順列を試しましたが、どれも機能していないようです。

タグで ng-repeat を簡単に使用して ng-show を使用できることは知っていますが、それを実装する適切な方法ではなく、ng-options を使用するのが正しいことをどこかで読んだことを覚えています (ここでも、場所が見つかりません)。仕方。

カスタム JavaScript フィルターを作成せずに以前はそれを実行できたと確信していますが、私の人生では、どのようにそれを行ったかを思い出せません。私は誰かができることを願っています

私はアイデアがないので、誰かがこれを手伝ってくれることを願っています。

アップデート:

すごいスコット、私はそれを手に入れたと思います。

それ以外の:

filter:chart.active=='false'

そのはず:

filter:chart.active='false'

使用される等号の数だけです。顔やし

回答ありがとうございます。

4

3 に答える 3

20

すごいスコット、私はそれを手に入れたと思います。

それ以外の:

filter:chart.active=='false'

そのはず:

filter:chart.active='false'

使用される等号の数だけです。顔やし

回答ありがとうございます。

于 2014-03-14T01:02:46.207 に答える
-1

これは機能します。

filter:chart.active==false

http://jsfiddle.net/H6AZ2/116/

于 2016-05-20T16:02:50.737 に答える