選択リストを生成するために使用する<select>
要素があり、できれば選択したものを の値に設定します。これが私のhtmlです:ng-options
ng-model
<td style="text-align:center">
<ng-form name="IsTobaccoForm">
<select name="Input" required ng-model="dep.IsTobacco" ng-options="item.value as item.text for item in yesNoList"></select>{{dep.IsTobacco}}
<span class="alert-error" ng-show="IsTobaccoForm.Input.$error.required"><strong>*Required</strong></span>
</ng-form>
</td>
私のコントローラーには次のコードが含まれています:
$scope.yesNoList = [{ value: true, text: 'Y' }, { value: false, text: 'N'}];
アイテムの値が true の場合IsTobacco
、値は適切に設定されており、すべて問題ありません。ただし、false の場合は、{{dep.IsTobacco}}
false としてレンダリングされますが、必要なエラーが表示されます。本当に奇妙な部分は、リストで選択した項目を true に変更すると正常に動作しますが、false に設定すると、新しい空白の項目がリストに追加され、その空白の項目が選択されます。
問題が上記の行にないと思われる場合は、喜んでさらにコードを投稿できます。
ありがとう!
編集: Chrome デバッガーも使用しましたが、データが Angular で開始されたときに、 の値がIsTobacco
に等しいことがわかりましたfalse
。
編集 2:これを見ている人が AngularJS を初めて使用する場合は、パート 1とパート 2の 2 つの記事を読むことを強くお勧めします。AngularJS フォームの概要です。