Как фильтровать данные, сравнивая больше, чем меньше, чем сценарий в angular js
У меня есть таблица, в которой у меня будет выпадающий список, который будет иметь опцию "<=, >=, = " И еще одно поле ввода, в которое пользователь вводит значение для фильтрации. так будет, если <= -1. >=0, =1
Как отфильтровать данные в таблице с помощью angular js?
Я попытался написать функцию, и теперь она даже не заполняет таблицу исходными данными перед фильтром.
Что я уже пробовал:
Предмет
Заказ
Линия
Статус
Толокация
Кол-во
{{с}}
RegDate
{{с}}
{{стр.Предмет}}
{{стр.Заказ}}
{{стр. Линия}}
{{p. статус}}
{{p. ToLocation}}
{{стр. Кол-во}}
{{p. RegDate}}
<div ng-controller="demoController"> <table class="table table-bordered"> <thead> <tr> <td>Item<br /> <input type="text" ng-model="Search.Item" /> </td> <td>Order<br /> <input type="text" ng-model="Search.Order" /></td> <td>Line<br /> <input type="text" ng-model="Search.Line" /></td> <td>Status<br /> <input type="text" ng-model="Search.Status" /></td> <td>ToLocation<br /> <input type="text" ng-model="Search.ToLocation" /></td> <td>Qty<br /> <table> <tr> <td> <input type="text" ng-model="compValue"/> </td> <td> <select ng-model="compFilter" ng-change="onChange(compFilter,compValue)"> <option ng-repeat="c in Comparers" value="{{c}}">{{c}}</option> </select> </td> </tr> </table> </td> <td>RegDate<br /> <table> <tr> <td> <input type="text" ng-model="dateFilter" /> </td> <td> <select ng-model="compFilter" ng-change="onChange(compFilter,compValue)"> <option ng-repeat="c in Comparers" value="{{c}}">{{c}}</option> </select> </td> </tr> </table> </td> </tr> </thead> <tbody> <tr ng-repeat="p in Products |filter:Search"> <td>{{p.Item}}</td> <td>{{p.Order}}</td> <td>{{p.Line}}</td> <td>{{p.Status}}</td> <td>{{p.ToLocation}}</td> <td>{{p.Qty}}</td> <td>{{p.RegDate}}</td> </tr> </tbody> </table> </div>
Код Angualr :
var app = angular.module("demoModule", []); app.controller("demoController", function ($scope, $http) { $scope.Comparers = ['=', '>=', '<=']; $scope.compValue = ""; $http( { method: "POST", url: "ProdForm.aspx/GetProduct", data: {}, contentType: "application/json", dataType: "json" }).then(function (response) { $scope.Products = JSON.parse(response.data.d); debugger; }); $scope.onChange = function (compFilter, compValue, Products) { var newArray = new Array(); if (compFilter === '=') { ; for (var i = 0; i < Products.length; i++) { var j = 0; if (Products[i].Qty == compValue) { newArray[j] = Products[i]; j = j + 1 } } } else if (compFilter === '>=') { for (var i = 0; i < Products.length; i++) { var j = 0; if (Products[i].Qty >= compValue) { newArray[j] = Products[i]; j = j + 1 } } } else { for (var i = 0; i < Products.length; i++) { var j = 0; if (Products[i].Qty >= compValue) { newArray[j] = Products[i]; j = j + 1 } } } $scope.Products = newArray; } });
Karthik_Mahalingam
можете ли вы разместить его в jsfiddle?