我在表单上有一个预先选择的单选按钮。这是html:
<input type="radio" ng-model="bankAccount.selectedAccount" value="{{account.bankAccountId}}" class="radioChanged" ng-checked="{{account.defaultAccount}}">
表单显示,单选按钮被选中,但当我单击我的提交按钮时,模型bankAccount.selectedAccount
只是一个空对象。如果我单击已在视图中选择的默认单选按钮,则它会显示在模型中。使用默认单选按钮填充模型需要做什么?
答案 0 :(得分:1)
您需要使用ng-value
代替value
插值,以便该值与模型相关联。还要注意,ng-checked不应该有插值,当你有插值时,即使绑定值为false,它也会被视为&#34; false&#34;字符串,它是真实的(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">
将给定表达式绑定到input [select]或input [radio]的值,以便在选择元素时,将该元素的ngModel设置为绑定值。
不要将ng-checked
与ng-model
混合,ng-checked只根据truthy / falsy条件设置元素的checked属性。它不会更新ngModel。相反,如果您想选择一个无线电,那么可以通过将其ng-model bankAccount.selectedAccount
设置为默认帐户的值来进行。
即: -
<input type="radio" ng-model="bankAccount.selectedAccount"
ng-value="account.bankAccountId" class="radioChanged" />
<强> Plnkr 强>