Angular JS按日期筛选不起作用
Angular JS filter by date not working
我正试图过滤表中的数据,使其只显示在某个日期输入的项目,但我似乎无法做到这一点。当我选择一个新日期时,我可以看到模型正在更新,但表中的数据不会改变。
HTML:
<tr ng-repeat='file in files | filter: date '>
日期选择器HTML:
<label>From:</label>
<p class="input-group" style="width:200px">
<input type="text" class="form-control" uib-datepicker-popup = "{{format}}" ng-model="date" is-open="status.opened"
min-date="minDate" max-date="maxDate" datepicker-options="dateOptions" date-disabled="disabled(date, mode)"
ng-required="true" close-text="Close"/>
<span class="input-group-btn">
<button type="button" class="btn btn-default" ng-click="open($event)"><i class="glyphicon glyphicon-calendar"></i></button>
</span>
</p>
控制器:
(function ()
{
'use strict';
angular.module('aml-tech-dashboard.successful-emails').controller('datepickerController', function ($scope) {
$scope.date = '';
$scope.status = {
opened: false
};
$scope.format = "yyyy-MM-dd"
$scope.minDate = new Date();
$scope.dateOptions = {
//formatYear: 'yy',
startingDay: 1
};
$scope.open = function ($event) {
$scope.status.opened = true;
};
$scope.date = new Date();
});
})();
您应该使用对象进行筛选。
<tr ng-repeat='file in files | filter: date '>
$scope.date = {date: '2016-08-01'}
每个"文件"都必须有字段"日期"
所以我解决了这个问题。文件采用JSON格式,日期选择器中的日期为date对象。
我在控制器中添加了一个监听器,它将新日期转换为JSON,这为我修复了它:
$scope.$watch("date", function(newval, oldval) {
$scope.dateString = $scope.date.toJSON();
});
(并使用新的dateString值进行过滤)
相关文章:
- 在筛选网格期间,网格负载掩码不起作用
- jQuery dataTables基于类型的列筛选不起作用?Img alt过滤器/排序
- 刷新页面后筛选器不起作用
- JQuery多属性筛选器不起作用
- 筛选器's的第二个参数不起作用
- 控制器中的筛选列表没有'不起作用
- 个别列筛选器在Datatable中不起作用
- Videogular-hh:mm:ss格式的日期筛选器不起作用
- Onresize函数在价格筛选滑块中不起作用
- 剑道 UI 网格筛选器在之前打开弹出窗口时不起作用
- 基于从下拉列表中选择的值的筛选列表不起作用
- 搜索筛选器不起作用.角度Js
- Knockout+DataTables筛选;不起作用
- Backgrid筛选器在主干应用程序中不起作用
- 包含下拉选择(在正文中,而不是标题或筛选器中)的表分类器在IE中不起作用
- 使用complexQuery的Dojo DataGrid筛选不起作用
- 筛选表行不起作用
- 带有{{#each}}的Javascript表,筛选不起作用
- 角度下拉筛选不起作用
- Angular JS按日期筛选不起作用