Wie bekomme ich nur ausgewählte Checkboxen in angularjs?

8

Ich habe ng-repeat ed Daten und versuche, nur diejenigen zu erhalten, die der Benutzer ausgewählt hat. Ich bin mir nicht sicher, wie es geht, das ist was ich habe:

HTML:

%Vor%

JS:

%Vor%

Ich habe es auf eine Art funktionieren lassen - indem ich jedem Objekt eine isSelected:false -Eigenschaft hinzufüge und das ng-model des Kontrollkästchens auf record.isSelected ändere, kann ich danach in der ShowSelected -Funktion filtern. Dies scheint jedoch ineffizient zu sein. Ich möchte dem Modell keine zusätzlichen Eigenschaften hinzufügen, wenn dies vermieden werden kann.

Gibt es einen besseren Weg?

    
mikel 25.09.2012, 09:26
quelle

2 Antworten

10

JavaScript

%Vor%

HTML

%Vor%

Ссылка

Sie können das Flag separat speichern und zum Filtern der Daten verwenden.

wurde aktualisiert, da einige CDN-Links unterbrochen wurden.

    
Tosh 25.09.2012, 09:48
quelle
1

Ich glaube, der beste Weg wäre, die Eigenschaft 'isSelected' zu Ihrem Datensatz hinzuzufügen und an diesen Wert zu binden. Etwas wie das:

%Vor%

Eine andere Sache, die Sie tun können (besonders, wenn Sie diese zusätzliche Eigenschaft nicht zum Datensatz hinzufügen können, wäre, ein Array ausgewählter Elemente beizubehalten und sie aus dem ausgewählten Array hinzuzufügen / zu entfernen, wenn der Benutzer die Auswahl trifft:

%Vor%

Die recordSelected-Funktion wird in Ihrem Controller behandelt, um hinzuzufügen / zu entfernen und von der ausgewählten Datensatzliste aufzunehmen.

PS: Ich habe eine negative Datensatz-ID verwendet, um anzuzeigen, dass der Datensatz nicht ausgewählt wurde.

    
Abel Pereira 11.07.2014 18:26
quelle

Tags und Links