4

次のように ng-options を使用して選択を設定する選択があります。

<select class="form-control" 
   ng-model="Data.selectedPerson" 
   ng-options="v as (v.Name ) for v in Data.people track by v.Name">
</select>

人のコレクションが空であるか、値がまだ選択されていない場合、デフォルトのコレクションに値を追加したくありません。選択を使用するように促すために、選択にプロンプ​​トを表示したいと思います。ご提案いただきありがとうございます。

4

1 に答える 1

10

デフォルトのオプションを追加するだけで、ngModel で何も選択されていない場合、またはモデルに無効​​なアイテムが入力されている場合に、angular がこのオプションを使用するようになります。これにより、コレクションに空の値を追加する必要がなくなります。

<select class="form-control" 
   ng-model="Data.selectedPerson" 
   ng-options="v as v.Name for v in Data.people  track by v.Name">
   <!-- Add your default option here -->
   <option value="">Please select a person</option>

</select>

条件に基づいてテキストを変更することもできます:-

  <option value="">{{ Data.people.length ? "Please select a person" : "No one available for selection" }}</option>

値がすでに選択されている場合は、DOM から削除することもできます。

   <option ng-if="!Data.selectedPerson" value="">Please select a person</option>
于 2014-08-28T19:00:33.833 に答える