4

フォームに事前に選択されたラジオボタンがあります。html は次のとおりです。

<input type="radio" ng-model="bankAccount.selectedAccount" value="{{account.bankAccountId}}" class="radioChanged" ng-checked="{{account.defaultAccount}}">

フォームが表示され、ラジオボタンが選択されているはずですが、送信ボタンをクリックすると、モデルbankAccount.selectedAccountは空のオブジェクトになります。ビューで既に選択されているデフォルトのラジオ ボタンをクリックすると、モデルに表示されます。モデルにデフォルトのラジオ ボタンを設定するにはどうすればよいですか?

4

1 に答える 1

1

値がモデルに関連付けられるように、補間のng-value代わりに使用する必要があります。valueまた、ng-checked には補間があってはならないことに注意してください。補間がある場合、バインドされた値が false であっても、「false」文字列として扱われ、truey ( If the expression is truthy, then special attribute "checked" will be set on the element) になります。

試す:-

 <input type="radio" ng-model="bankAccount.selectedAccount" 
         ng-value="account.bankAccountId" class="radioChanged" 
         ng-checked="account.defaultAccount">

要素が選択されたときに、その要素の ngModel がバインドされた値に設定されるように、指定された式を input[select] または input[radio] の値にバインドします。


ng-checkedと混在させないでくださいng-model。ng-checked は true/falsy 条件に基づいて要素の checked プロパティを設定するだけです。ngModel は更新されません。代わりに、ラジオを選択したい場合は、その ng-model bankAccount.selectedAccountにデフォルト アカウントの値を設定してください。

すなわち:-

<input type="radio" ng-model="bankAccount.selectedAccount" 
     ng-value="account.bankAccountId" class="radioChanged" />

プランク

于 2014-09-23T16:23:57.070 に答える