javascript - 允许从多组复选框中只选择一个单选按钮

标签 javascript angularjs

我有一些帐户项。

我将这些显示在一个列表中,做类似的事情

<md-list-item ng-repeat="item in items">

对于每一个这样的项目,我在一组中显示三个单选按钮,保存如下值

  • 管理员
  • 用户
  • 主持人

现在用户可以为每组单选按钮选择一个值,但我想要做的是只有一个管理员。

因此,如果选择了管理值,我应该阻止所有其他管理单选按钮。

如何做到这一点?

最佳答案

有一个 ng-change 方法将管理项目存储在范围属性中以跟踪管理员选择了哪个项目:

$scope.radioChanged = function (item) {
  if (item.selectedValue == "admin") {
    $scope.admin = item;
  }
  else if (item == $scope.admin) {
    $scope.admin = undefined;
  }
};

然后在管理员单选按钮上使用 ng-disabled,如果已选择管理员且管理员不是当前项目,则将禁用单选​​按钮。

<div ng-repeat="item in items">
  <label><input type="radio" name="{{item.id}}" value="admin" ng-model="item.selectedValue" ng-change="radioChanged(item)" ng-disabled="admin && item != admin"/>admin</label>
  <label><input type="radio" name="{{item.id}}" value="user" ng-model="item.selectedValue" ng-change="radioChanged(item)"/>user</label>
  <label><input type="radio" name="{{item.id}}" value="moderator" ng-model="item.selectedValue" ng-change="radioChanged(item)"/>moderator</label>
</div>

Plunkr

关于javascript - 允许从多组复选框中只选择一个单选按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31857877/

相关文章:

angularjs - 如何通过单击任何特定图像在弹出窗口中显示图像

AngularJS - 使用 FileReader API 上传和显示图像(多个文件)

javascript - d3.js v5.9.1 - 此版本中的某些方法未按预期工作

javascript - 'Backbone Relational' 模型关系添加一个 'id' 和一个集合作为值,防止 PUT 和 DELETE

angularjs - 如何将 Google 图表集成为 AngularJs 指令?

javascript - 如何在angular的$http中添加ajax的dataType属性?

javascript - Twitter登录弹出窗口被阻止

javascript - 如何用字符串化函数 (Javascript) 中的值替换变量?

javascript - PhantomJS 没有为 iframe 抛出 onload 事件

javascript - Jquery 函数不适用于选择表单