2015-06-13 4 views
1

Я работаю с AngularJS. Как я могу искать по Code? Моя текущая реализация ищет то, что вы набираете: id, name, city, code ... Как я могу искать только по коду?AngularJS-фильтрация по коду

app.js:

var app = angular.module('stack', []); 

app.directive('filterList', function ($timeout) { 
    return { 
     link: function (scope, element, attrs) { 

      var td = Array.prototype.slice.call(element[0].children); 

      function filterBy(value) { 
       td.forEach(function (el) { 
        el.className = el.textContent.toLowerCase().indexOf(value.toLowerCase()) !== -1 ? '' : 'ng-hide'; 
       }); 
      } 

      scope.$watch(attrs.filterList, function (newVal, oldVal) { 
       if (newVal !== oldVal) { 
        filterBy(newVal); 
       } 
      }); 
     } 
    }; 
}); 

пример на jSFiddle

+0

Вы можете разместить свой HTML. –

+0

Я уже разместил ссылку [JSFiddle] (http://jsfiddle.net/d3cn5x5v/1/) :)! – Gintoki

+1

Здесь вы можете найти ответ. http://jsfiddle.net/d3cn5x5v/5/ –

ответ

3
var app = angular.module('stack', []); 

    app.directive('filterList', function ($timeout) { 
     return { 
      link: function (scope, element, attrs) { 

       var td = Array.prototype.slice.call(element[0].children); 

       function filterBy(value) { 
        td.forEach(function (el) { 
         el.className = el.cells[3].textContent.toLowerCase().indexOf(value.toLowerCase()) !== -1 ? '' : 'ng-hide'; 
        }); 
       } 

       scope.$watch(attrs.filterList, function (newVal, oldVal) { 
        if (newVal !== oldVal) { 
         filterBy(newVal); 
        } 
       }); 
      } 
     }; 
    }); 
+0

Просто нужно указать номер ячейки в строке заголовка, например. ** el.cells [3] ** для ** Код ** столбец – hpatel

+0

Да, спасибо за лечение :)! – Gintoki

1

Если у вас есть какие-либо текстовое поле, чтобы написать код и фильтр, основанный на на это, то вы можете использовать | встроенный фильтр углового, как это,

<div ng-repeat="product in products | filter:{ colour: by_colour }"> 

Надеется, что это поможет решить вашу проблему :)

Смежные вопросы