2016-10-25 7 views
0

Ich habe mehrere Checkboxen und diese alle anzeigen mit ng-repeat. aber ein Kontrollkästchen Titel ist "Benutzerdefiniert" mit diesem ... wenn benutzerdefinierte Kontrollkästchen aktiviert ist alle sind deaktiviert und wenn alle bleiben aktiviert benutzerdefinierte Kontrollkästchen ist nur deaktiviert.Checkbox ist aktiviert, alle Checkboxen sind 'unchecked' in Winkel js

<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

Wir benötigen Beispielcode, der Ihnen hilft, dieses – yunandtidus

+0

zu lösen, bitte schreiben Sie ein wenig von dem js Code, damit ich den Titel und so weiter sehen kann –

Antwort

0

Wenn Sie alle Kontrollkästchen aktivieren möchten, versuchen Sie etwas wie dieses. 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>

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

Es ist schwer, mit Ihrem Beispiel zu erklären. Lass mich dir den Code zeigen, wo ich sowas mache. Ich habe eine Liste von Benutzernamen. Wenn ein Benutzer die Funktion "changedDepartment" aufruft, wird er gefragt, ob er alle Benutzer im Dropdown-Menü auswählen möchte.

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>

Controller:

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

den Riesen für Schleife ignorieren. Das ist nur meine Datenmodelle für die Benutzer suchen und schieben sie in $ scope.users. Der Hauptfokus liegt auf der Frage, ob wir alle Benutzer auswählen wollen. Es setzt das ng-Modell auf das gesamte Array von Benutzern, die wir früher in der Schleife gedrückt haben.

Ich weiß nicht, ob dies für Ihre Situation relevant ist, da Ihre Kontrollkästchen aktiviert sind und ich mehrere Auswahl-Dropdowns verwendet habe, aber hoffentlich hilft es einigen!

Verwandte Themen