AngularJS 可以点击所有单选按钮

AngularJS possible to click all radio buttons

我创建了一个单选按钮选择列表,但问题是当单击时,它们都保持选中状态,因此根本不能用作单选按钮组。

我对它们都有相同的 ng-model(字符串;'model')和 ng-change,但 id 不同。

 <div class="radio-button" 
         ng-show="vm.forAdmins" 
         ng-repeat="role in vm.adminRoleDefinitions">

        <input id="{{role.name}}" type="radio"
               ng-model="role.model"
               ng-change="vm.stateChanged(role.name, role.active)" >
         {{role.name}}
    </div>

已经为此纠结了一段时间,看不出我遗漏了什么。

尝试为您的单选按钮指定名称属性。名称对单选按钮进行分组。例如:

<input type="radio" name="someRadio" id="radioOne" />
<input type="radio" name="someRadio" id="radioTwo" />

现在一次只能选择一个。

如果您为这些单选按钮指定名称 属性,单选按钮将作为一个组使用。我也遇到了这个问题然后我意识到我的错误。

<div class="radio-button" ng-show="vm.forAdmins" ng-repeat="role in vm.adminRoleDefinitions">    
            <input id="{{role.name}}" type="radio"
                   ng-model="role.model"
                   ng-change="vm.stateChanged(role.name, role.active)"
                   name="roles" >
             {{role.name}}
</div>