【发布时间】:2017-05-13 02:13:15
【问题描述】:
这是我的 json :
[
{
"name": "2QQQJohnQQQ11_12_1998",
"age" : "18"
},
{
"name": "1QQQEvaQQQ05_11_1989",
"age" : "21"
},
{
"name": "4QQQCasperQQQ12_06_1994",
"age" : "13"
},
{
"name": "3QQQBeanQQQ30_12_1996",
"age" : "6"
}]
我的HTML:
<thead>
<tr>
<th class="text-center">type</th>
<th class="text-center">name</th>
<th class="text-center">date</th>
<th class="text-center">age</th>
</tr>
</thead>
<tbody>
<tr ng-repeat="name in namesplit | filter:dateFilterFunction | orderBy:'time'">
<td>{{name.type}}</td>
<td>{{name.name}}</td>
<td>{{name.time | date}}</td>
<td>{{name.age}}</td>
</tr>
</tbody>
我的 javascript 文件:
var app = angular.module('app', []);
app.service('service', function($http, $q){
var deferred = $q.defer();
$http.get("datesss.json").then(function(data){
deferred.resolve(data);
});
this.getNames = function(){
return deferred.promise;
}
});
app.controller('secondCtrl', function($scope, service){
var promise = service.getNames();
promise.then(function(data){
$scope.names = data.data;
$scope.namesplit = $scope.names;
$scope.namesplit.map(function(item) {
item.type = item.name.split('QQQ')[0];
item.data = item.name.split('QQQ')[2].split('_');
item.name = item.name.split('QQQ')[1];
item.time = new Date(parseInt(item.data[2],10),parseInt(item.data[1],10)-1,parseInt(item.data[0],10));
});
});
});
我正在做一个表格,我试图做的是过滤“从,到”来过滤数据(name.time)。我的 HTML 代码:
<input type="date" ng-model="dateFilter.from" class="form-control" />
<input type="date" ng-model="dateFilter.to" class="form-control" />
我在控制器中的代码:
$scope.dateFilter={};
$scope.dateFilterFunction= function(name){
return (name.time>$scope.dateFilter.from && name.time<$scope.dateFilter.to);
}
它没有工作。有人帮忙吗?提前致谢。
【问题讨论】:
-
你的代码的输出是什么,我的意思是你现在得到了什么?
-
我的表中没有任何内容,但是当我从 ng-repeat "filter:dateFilterFunction" 中删除时,我一切正常
-
您是否仅在输入时出现错误而没有值?在这种情况下,尝试使用空值初始化您的过滤器,$scope.dateFilter={from:null, to:null};
标签: javascript angularjs json filter