2017-06-16 14 views
-1

Angular Materialを使用してAngularJs(v1.6)を学習していますが、小さくても迷惑なディスプレイの問題に取り組んでいます。ng-repeatを使用してリストの1つの項目を必須にする

私は、スイッチボタン付きのアイテム(フルーツ)の簡単なリストを作成しました。フルーツが存在する場合、ユーザはボタンをオンにすることができる。私はリストの各要素を表示するためにng-repeatを使いました... 次に、私は自分のスイッチボタンを1つだけ欲しかったので、 "必須"という言葉を使いました:

HTML:

<md-list-item ng-repeat="(key, value) in $ctrl.vegetables.fruits"> 
    <p>{{'vegetables.fruits.' + key | translate}}</p> 
    <md-switch class="md-primary" ng-model="$ctrl.vegetables.fruits[key]" required> 
<br/> 
    <div class="warning" ng-show="key === 'banana'" >Ce champ est obligatoire</div> 
    </md-switch> 
</md-list-item> 

しかし、私はMD-スイッチのdivに入れた場合、私のリストのすべての項目が必要とされている... 私は1つで私のリスト1の要素を表示した場合、私は一つだけを必要とすることができます要素ですが、私はng-repeatを保ちたいと思います。

これは私の質問です。私のアイテムの1つだけを必須にするにはどうすればよいですか?

おかげ

+0

ですから、右の選択リストに少なくとも一つのアイテムを持っているしたいですか?まず、野菜は果物ではありませんが、それは今のところ懸念事項ではありません。コントローラーをチェックして、アイテムの1つがチェックされているかどうかを確認することができます。必要に応じて項目の1つだけを設定したい場合は、ng-requiredを使用して、フィールドが必要な天気の条件を設定することができます。私はあなたにさらにあなたを導くために果物についてのいくつかの情報が必要になります! – user3220633

答えて

0

は、私はあなたが欲しい、これがあると思う:

<md-list-item > 
    <p ng-repeat-start="(key, value) in $ctrl.vegetables.fruits">{{'vegetables.fruits.' + key | translate}}</p> 
    <md-switch ng-repeat-end class="md-primary" ng-model="$ctrl.vegetables.fruits[key]" required> 
<br/> 
    <div class="warning" ng-show="key === 'banana'" >Ce champ est obligatoire</div> 
    </md-switch> 
</md-list-item> 
関連する問題