复选框已选中,所有复选框均未选中'在角js

时间:2016-10-25 12:45:52

标签: angularjs ionic-framework

我有多个复选框,所有这些都使用ng-repeat显示。但是一个复选框标题是"定制"通过使用此...如果选中自定义复选框,则所有未选中,如果保留所有选中,则仅取消选中自定义复选框。

<ion-checkbox class="card" ng-repeat="(key, value) in packages" ng-model="value.checked" ng-checked="value.checked" ng-change="add(packages)">
    <div class="title">{{value.title}}</div>
        <div class="price-section">{{value.price}}</div>
</ion-checkbox>

1 个答案:

答案 0 :(得分:0)

如果你想检查所有的盒子尝试这样的事情。 HTML: <ion-checkbox class="card" ng-repeat="(key, value) in packages" ng-model="value.checked" ng-checked="value.checked" ng-change="add(packages)"> <div class="title">{{value.title}}</div> <div class="price-section">{{value.price}}</div> </ion-checkbox>

控制器: $scope.add = function(item) { $scope.boxes = []; //push the boxes onto boxes that you want to be selected. $scope.value.checked = $scope.boxes }

使用您的示例很难解释。让我告诉你我在做这样的事情的代码。我有一个用户名列表。当用户调用changedDepartment函数时,它会询问是否要选择下拉列表中的所有用户。

HTML:

&#13;
&#13;
<select ng-model="selectDept" ng-change="changedDepartment(selectDept)" ng-options="option as option.departmentName for option in department" multiple="multiple">
<option value="" disabled>Select a Department/s</option>
</select>
&#13;
&#13;
&#13;

控制器:

&#13;
&#13;
$scope.changedDepartment = function(item) {
  	$scope.users = [];
	  $scope.selectUser = [];
	  if ($scope.department.length > 0) {
	  if (item[0].DepartmentUsers.length > 0) {
		  $scope.users.length = 0;
		  for (var i = 0; i < item.length; i++) {
		    for (var j = 0; j < item[i].DepartmentUsers.length; j++) {
		      if (profile[0].userProfileID != item[i].DepartmentUsers[j].userProfileID) {
		        console.log(item[i].DepartmentUsers[j]);
		        $scope.users.push(item[i].DepartmentUsers[j]);
		      }
		    }
		  }
		    var confirm = $ionicPopup.confirm({
		     title: 'Confirm',
		     template: 'Would you like to send to all the users in ' + item[0].departmentName + ' department?',
		     cancelText: 'No',
		     okText: 'Yes'
		   });
		   confirm.then(function(res) {
		     if (res) {
		      $scope.selectUser = $scope.users;
		     } else {
		      $scope.selectUser = [];
		      }
		    });
		    //item.pop();
		    //$scope.changedDepartment(item);
		}
		item = "";
		}
	}
&#13;
&#13;
&#13;

忽略巨人for循环。这只是为用户搜索我的数据模型并将它们推送到$ scope.users。主要焦点是当询问我们是否要选择所有用户时。它将ng-model设置为我们之前在循环中推送的整个用户数组。

我不知道这是否与您的情况相关,因为您使用复选框并且我使用了多个选择下拉菜单,但希望它有所帮助!