2017-01-13 1 views
0

Ich implementiere derzeit angular-selectize.js (https://github.com/machineboy2045/angular-selectize), um ein Suchfeld hinzuzufügen, das mehrere Werte aufnimmt und alle Zellen in der ng-Table-Basis nach diesen Werten filtert, ohne zu spezifizieren, welche Spalten gefiltert werden sollen. Ähnlich wie beim Erstellen eines Suchfelds mit Eingabe und tun Sie filter:search auf ng-repeat aber Filtern mit mehreren Werten stattdessen.Wie ng-Table mit mehreren Werten in einem Array gefiltert werden.

Plunker: http://plnkr.co/edit/701op5FQ0PRJ5FOlF5Mq?p=preview

Antwort

0

i erstellt einen benutzerdefinierten Filter und es funktionierte. Plunker: http://plnkr.co/edit/701op5FQ0PRJ5FOlF5Mq?p=preview

.filter('filterSelectize', function($filter){ 
    return function(cars, multiArray) { 
     if(multiArray.length >= 1){ 
     var filteredCars = cars; 
     for(i=0; i < multiArray.length; i++){ 
      var filteredCars = $filter('filter')(filteredCars, multiArray[i]); 
     } 
     return filteredCars; 
     } 
     else { 
     return cars; 
     } 
    } 
    }) 
0

Sie können auch die "offizielle" ngTable Art und Weise mit dem Filterschlüssel $ gehen:

function applyGlobalSearch(){ 
     var term = self.globalSearchTerm; 
     if (self.isInvertedSearch){ 
     term = "!" + term; 
     } 
     self.tableParams.filter({ $: term }); 
    } 

https://codepen.io/christianacca/pen/doEbJW?editors=1010

Verwandte Themen