2016-04-12 2 views
0

Ich habe folgende Winkel js Code in der AnsichtSatz Alle als Anfangswert in ng-Drop-Down-Multiselect

<div class="icon-dropdown people-icon fixed-height-select" ng-dropdown-multiselect="" options="vm.collectionGroups" selected-model="vm.selectedCollections" ng-click="vm.events.getStatistics()"></div> 

und ich möchte programmatisch die „Select All“ Option, wie ursprünglich gewählte Option.

+0

Ist das ein Plugin? kannst du es verlinken? –

+0

Ähm können Sie ein funktionierendes Beispiel Ihres Codes zur Verfügung stellen? –

+0

@ user2899925 Ich habe es nicht versucht, aber können Sie überprüfen, indem Sie gleiche Array-Daten in 'vm.collectionGroups' und' vm.selectedCollections' behalten, überprüfe ich, ob die 'vm.selectedCollections' Daten standardmäßig hat, sollte es als gemacht werden standardmäßig ausgewählt. – sreeramu

Antwort

0

Es gibt keine Option oder Funktion in der Direktive, die das Select All Verhalten erreichen kann.

Was Sie tun können, ist in Ihrem Controller Ihre vm.selectedCollections initialisieren.

this.selectedCollections = this.collectionGroups.map(function(item) { 
    return { id : item.id }; 
}); 

die eine Sammlung erstellen wie [{id:1}, {id:2}, .. ];

Für weitere Informationen, können Sie die documentation am Voreingestellte Werte Abschnitt.

+0

Ich fragte nur, ob ich das selectAll-Ereignis der "Check All" -Option auslösen könnte, die in der ng-dropdown-multiselect vorhanden ist, wenn ich es nicht mit showCheckAll = false deaktivieren – WNB

+0

Oh ok .. so wie ich sah Bei der Dokumentation und Umsetzung der Direktive sehe ich nicht, wie man die 'selectAll' Methode an der Direktive aufrufen kann, ohne den Code des Plugins zu ändern – Lulylulu

+0

yeah, leider auch nicht – WNB

0

ng-dropdown-multiselect hat Vorwahlwert und es arbeitet mit ID.

so dass Ihr Preselect-Wert, der vm.selectedCollections ist, ID in ihm sein muss.

so sollte es

// list selected id 
this.selectedCollections = [ 
    { 
    "id": 1 
    }, 
    { 
    "id": 3 
    } 
]; 
0

Sie sich es nur initialisieren konnte zu

this.example1model = [ 
    {id: 1, label: "xx"}, 
    {id: 2, label: "yy"}, 
    {id: 3, label: "zz"} 
]; 

wo example1model-Modell ausgewählt wird, die alle standardmäßig wählen würde

0

Ihr Javascript so sein sollte :

function(){ 
    $scope.vm.selectedCollections = angular.copy($scope.vm.collectionGroups); 
}; 

Ausgewähltes-Modell = Optionen. :) Einfach.

0

Nach viel Versuch geben, Ich fand einfach Lösung wie unten

self.example1model = data; 
self.selectedCollections = data.slice(0);