2016-05-13 3 views
0

Ich benutze AngularJS mit Smart-Table-Modul und ich zeige eine Tabelle mit ihm.Checkbox Filterung auf Tabelle mit Objekten

Die Informationen in Zeilen werden von "POST" -Anfragen mit MySQL abgefangen.

Diese Informationen sind in einem $ scope.data_server in der App Controller deklariert gestapelt:

app.controller('SearchbddCtrl', function ($scope, $http) { 
    get_data(); 
function get_data() { 
    var name = $scope.name; 
    $http.post('/searchbdd', {name: name}).success(function (data, status, headers, config) { 
     $scope.data_server = data; 
    }).error(function (data, status) { 
     alert("Connection Error"); 
    }); 
    } 
}); 

In Front-End ich sie wie folgt angezeigt:

<tr ng-repeat="data in displayCollection" st-select-row="data" st-select-mode="single"> 
<td>{{ data.login}}</td> 
<td>{{ data.name}}</td> 
</tr> 

Was ich tun möchte, : Filtern Sie diese Zeilen mit mehreren Kontrollkästchen. Ich brauche 10 Checkboxen.

Ich weiß nicht wirklich, wie es geht .. Hat jemand irgendwelche Infos oder Codebeispiel ??

Beispiel: Zum Beispiel habe ich Früchte (Bananen, Äpfel und Orangen) in der Tabelle angezeigt. Ich möchte in der Tabelle nur Bananen statt Bananen, Äpfel und Orangen zeigen. Oder wenn ich nur Äpfel und Orangen anzeigen möchte. Ich überprüfe "Orangen" und "Äpfel" und es zeigt die Zeilen, die diese Arten von Früchten enthält.

Update:

Dies ist, was ich tun möchte: https://github.com/lorenzofox3/Smart-Table/issues/387

+0

was meinst du mit „filtern diese Zeilen mit mehreren Kontrollkästchen“? es ist wirklich mehrdeutig. Kannst du die Funktionalität besser beschreiben? – svarog

+0

Zum Beispiel habe ich Früchte. Ich möchte in der Tabelle nur Bananen statt Bananen, Äpfel und Orangen zeigen. Oder wenn ich nur Äpfel und Orangen anzeigen möchte. Ich überprüfe "Orangen" und "Äpfel" und es zeigt die Zeilen, die diese Arten von Früchten enthält. –

Antwort

0

Sie können ng-Wiederholungs-Filter, dies zu tun verwenden.

Für die Probe, wenn Sie einen Spaltentyp in jeder Zeile Ihrer Sammlung haben Sie so etwas wie die folgenden Aktionen durchführen:

<input type="checkbox" ng-model="$scope.filter.type" value="banana"/> 

<tr ng-repeat="data in displayCollection | filter:$scope.filter" st-select-row="data" st-select-mode="single"> 
<td>{{ data.login}}</td> 
<td>{{ data.name}}</td> 
</tr> 
+0

Vielen Dank für die Antwort, können Sie mir sagen, was ist "filter.type"? Ich meine, wenn ich es verwende, verbirgt es alle Zeilen in der Tabelle. –

+0

Was ich tun möchte, ist so etwas: https://github.com/lorenzofox3/Smart-Table/issues/387 –

+0

ok ich verstehe. Tatsächlich ist der Objektfilter in meinem Beispiel ein benutzerdefiniertes Objekt ohne Spalte. Sie können jede Spalte Ihres Objekts hinzufügen, um darauf zu filtern. Wenn Sie in Ihrem Beispiel einen Spaltentyp in Ihrem Objekt haben, können Sie nach dem Muster Banane filtern. Wenn Sie eine andere Spalte Geschlecht oder Kategorie haben, wird es etwas in der Nähe von $ scope.filter.gender –