I need to filter the table by date. I want table to be filtered when I changed date.
I have used jquery date picker for calender.
Right now I have added a button and which on click (ng-click) call angular js function to filter table. but I want this function to be called on ng-change event. Some thing like this.
Please check my code below and let me know what do I need to change to make it work.
Thank you.
What I have tried:
My code:
code in controller:
$('#dtRms2').datepicker({
changeMonth: true,
changeYear: true,
showAnim: 'slideDown',
duration: 'fast',
dateFormat: 'mm/dd/yy',
onSelect: function (date) {
$scope.Login_Val = date;
$scope.$apply();
}
});
$scope.OnLoginChange = function (LoginChangeFilter, inputVal) {
$scope.Tables = $scope.allTables;
debugger;
console.log(LoginChangeFilter);
console.log(inputVal);
var newArray = [];
<pre>switch (LoginChangeFilter) {
case '=':
newArray = $scope.Tables.filter(function (r) {
var d1 = new Date(r.lgDt.toString());
var d2 = new Date(inputVal.toString());
debugger;
if (d1.getTime() === d2.getTime()) {
return r;
}
});
debugger;
break;
case '>=':
newArray = $scope.Tables.filter(function (r) {
var d1 = new Date(r.lgDt.toString());
var d2 = new Date(inputVal.toString());
if (d1.getTime() >= d2.getTime()) {
return r;
}
});
debugger;
break;
case '<=':
newArray = $scope.Tables.filter(function (r) {
var d1 = new Date(r.lgDt.toString());
var d2 = new Date(inputVal.toString());
if (d1.getTime() <= d2.getTime()) {
return r;
}
});
break;
default:
newArray = $scope.Tables
break;
}
$scope.Tables = newArray;
}
HTML:
<td>
<table>
<tr>
<td>
<select ng-model="LoginChangeFilter">
<option ng-repeat="c in Comparers" value="{{c}}">{{c}}</option>
</select>
</td>
</tr>
<tr>
<td>
<input type="text" id="dtRms2" ng-model="Login_Val" ng-change="OnRmsLoginChange(LoginChangeFilter,Login_Val)">{{RmsLogin_Val}}
</td>
<td>
<%--<input type="hidden" id="start" ng-model="Login_Val" ng-change="OnLoginChange(LoginChangeFilter,Login_Val)"/>--%>
<input type="button" value="Go" ng-click="OnRmsLoginChange(LoginChangeFilter,Login_Val)" />
</td>
</tr>
</table>
</td>