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”字符串并且它是真值 ( 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-checkedng-model, ng-checked 混合,只是根据真假条件设置元素的检查属性。它不会更新 ngModel。相反,如果您想选择一个收音机,那么通过将其 ng-model 设置 bankAccount.selectedAccount为默认帐户的值来实现。

IE:-

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

PLNKR

于 2014-09-23T16:23:57.070 回答