AngularJS-选中新复选框时取消选中先前的复选框

时间:2018-08-07 16:02:21

标签: angularjs checkbox input radio

嗯,这个问题很不言而喻。

问题是,这是一个已经开发的项目,出于我无法理解的原因,他们希望某些复选框具有单选按钮功能。为什么?无法解释,也无法更改。

有没有办法实现这种行为?提前致谢。

1 个答案:

答案 0 :(得分:1)

您是否正在寻找这样的东西:基本上,您可以处理复选框的单击并将其他标记为未选中,您可以通过在此处使用模型值来实现。

样本:

JS:

app.controller('MainCtrl', function($scope) {
  $scope.chkList = [{
    name: "Ram",
    isSelected: false
  }, {
    name: "Shyam",
    isSelected: false
  }, {
    name: "Alice",
    isSelected: false
  }, {
    name: "Adam",
    isSelected: false
  }];

  $scope.deSelectOther = function(item) {
    $scope.chkList.forEach(function(listItem) {
      if (listItem.name != item.name)
        listItem.isSelected = false;
    })
  }
});

HTML:

 <li ng-repeat="item in chkList">
    <span>{{item.name}}</span>
    <input type="checkbox" ng-click="deSelectOther(item)" ng-model="item.isSelected" />
 </li>

plunkr here

如果没有?发布您的一些代码或进一步详细说明您的要求,以便我可以帮助您