Angularjs:自动检查收音机

时间:2014-03-06 19:24:40

标签: angularjs radio-button checked

这是我的单选按钮代码

<input type="radio"  ng-model="choice.phone" ng-value="1" name="phone" ng-  
click="setPhoneType('cell')"> cell phone<br/>

<input type="radio"  ng-model="choice.phone" ng-value="2" name="phone" ng-
click="setPhoneType('Home')"> Home phone <br/>

现在,当用户选择其中任何一个时,下面的单选按钮应该被检查为默认

<input type="radio" ng-model="choice.International" ng-value="1" 
name="international" ng-click="setChoiceType('Inter')" ng-checked="choice.phone"> International call 

js代码如下:

setPhoneType = function setPhoneType(phoneType) {
                    $scope.phone = phoneType;
                    $scope.setChoiceType('Inter');
                    return;
 },
 setChoiceType = function setChoiceType(callType) {
                    $scope.international = callType;
                    return;
                },

问题在于,当我选择任何phone时,会自动检查Inter,但稍后值未定义,它会转到setChoiceType但是在此之后选择.International是未定义的。如果我手动选择Inter (by clicking on it)就可以了。

1 个答案:

答案 0 :(得分:0)

您的单选按钮绑定到选择对象的属性。但是,setPhoneType和setChoiceType直接在范围上更新值 - 而不是选择对象。另外,我认为你想要使用值,而不是ng值。

Here is plnkr