這裏是我的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」時,我的所有內容都可以工作 – bafix2203
您是否僅在輸入時沒有值的情況下出錯?在這種情況下,嘗試用空值初始化你的過濾器,$ scope.dateFilter = {from:null,to:null}; –