进入新页面时,单选按钮未正确初始化

时间:2017-05-15 10:18:04

标签: angularjs angularjs-scope

我有一个简单的表单,它从我传递到表单控制器的对象中获取它的初始值。其他型号显示正确的值,但未检查正确的单选按钮。 这是包含初始值的对象:

$scope.proposal[b_size]: 13
$scope.proposal[proposal_key]: 690dae2350cf41feaadc5d8e63fc2b55
...

这是模板片段:

 <input type="radio" ng-model="proposal.b_size" value="7" />7 by 7&nbsp;&nbsp;
 <input type="radio" ng-model="proposal.b_size" value="13" />13 by 13&nbsp;&nbsp;
 <input type="radio" ng-model="proposal.b_size" value="19" />19 by 19&nbsp;&nbsp;

我已经尝试将b_size设置为控制器中的{},然后再将其设置为正确的值,并将其设置为正确的值。在这两种情况下,都没有设置单选按钮。

2 个答案:

答案 0 :(得分:1)

目前正在发生的事情是,由于value属性7被视为'7'(字符串7),当您为ng-model分配值时,它会检查单选框价值,因此'7'和7的比较得到false并且没有预先选择。

value属性更改为ng-value可帮助您保留值的类型。

<input type="radio" ng-model="proposal.b_size" ng-value="7" />7 by 7&nbsp;&nbsp;
<input type="radio" ng-model="proposal.b_size" ng-value="13" />13 by 13&nbsp;&nbsp;
<input type="radio" ng-model="proposal.b_size" ng-value="19" />19 by 19&nbsp;&nbsp;

Demo Plunker

答案 1 :(得分:0)

您能确保控制器中的属性是单引号;喜欢: $scope.proposal['b_size']: 13