我有多个复选框,所有这些都使用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>
答案 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:
<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;
控制器:
$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;
忽略巨人for循环。这只是为用户搜索我的数据模型并将它们推送到$ scope.users。主要焦点是当询问我们是否要选择所有用户时。它将ng-model设置为我们之前在循环中推送的整个用户数组。
我不知道这是否与您的情况相关,因为您使用复选框并且我使用了多个选择下拉菜单,但希望它有所帮助!