javascript - 如何使用angularjs仅选中ng-repeat复选框中的一个复选框?

标签 javascript angularjs checkbox

当我进入页面时,我需要始终选中一些复选框,例如软件或硬件。如果选择了任何一个,则只有提交按钮可见。如果未选择任何内容,则应禁用提交按钮,并且应出现警报,请选择一些服务

function Test1Controller($scope) {
  var storeid = window.localStorage.getItem("storeid");
  var serverData = ["software", "hardware", "Accessories"];
  $scope.items = [];

  for (var i = 0; i < serverData.length; i++) {
    var modal = {
      name: serverData[i],
      selected: i === 0 ? true : false,

    };
    $scope.items.push(modal);
  }

  $scope.check = function() {
    var checkedItems = [];
    for (var i = 0; i < $scope.items.length; i++) {
      if ($scope.items[i].selected) {
        checkedItems.push($scope.items[i].name);
      }
    }
    console.log(checkedItems);
  }


}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.1.5/angular.min.js"></script>

<div ng-app>
  <div ng-controller="Test1Controller">
    <div ng-repeat="item in items">
      <input type="checkbox" ng-model="item.selected" />{{item.name}}
    </div>
    <input type="button" name="submit" value="submit" ng-click="check()" />
  </div>
</div>

最佳答案

function Test1Controller($scope) {
  var storeid = window.localStorage.getItem("storeid");
  var serverData = ["software", "hardware", "Accessories"];
  $scope.items = [];

  for (var i = 0; i < serverData.length; i++) {
    var selectVal = false;
    if(serverData[i] === "hardware"){
        selectVal = true;
    }
    var modal = {
      name: serverData[i],
      selected: selectVal

    };
    $scope.items.push(modal);
  }
}

关于javascript - 如何使用angularjs仅选中ng-repeat复选框中的一个复选框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31848302/

相关文章:

html - 复选框标签宽度改变一件事

javascript - JS树选择未选择的项目

javascript - Highchart 显示单行不带逗号的结果

Javascript如何跳过基于空格分隔符的拆分,除了特定序列后面的空格

angularjs - angular ui bootstrap datepicker 解析无法正常工作

javascript - 如何在 $compile 之后隐藏一个元素?

javascript - 选中一个复选框时启用多个复选框

javascript - innerHTML 在 Firefox 中有效,但在 Chrome 中无效

javascript - 来自组件的 Angular 事件监听器

angularjs - 如何在 ionic +cordova 中附加文件?