我在mysql数据库中有一个名为date的列,每个帖子都有不同的日期,如:2015-1-1
我创建了一个函数来检查今天的日期是否与mysql数据库中的日期相匹配,以便按日期过滤帖子。
这是我的app.js
app.controller('TimeController', function($scope, $http) {
$http.post('ajax/getQuotes.php').success(function(data){
$scope.quote = filterByDate(data);
});
function filterByDate(input) {
var date = new Date();
var day = date.getDate();
var month = date.getMonth() + 1;
var year = date.getFullYear();
var matchDate = year + "-" + day+ "-" + month;
if( input[value] == matchDate){
return data;
}
}
但这不起作用,有什么建议吗?
答案 0 :(得分:0)
两个问题:
为什么要首先提取所有数据然后再应用过滤器?为什么不将您的请求限制在服务器端的日期,只返回该日期的数据?
如果您想一次性提取所有数据,请使用ng-repeat中的过滤器。这样您的数据就是动态的,之后您仍然可以更改过滤器。
答案 1 :(得分:0)
您的过滤器代码没有任何意义。
input
的变量。date
对象。day
,month
和year
变量设置为从今天起的每月一天。matchDate
,year
和day
值手动构建名为month
的字符串。matchDate
变量与input
上的数组索引进行比较,使用从未定义过的名为value
的变量。由于某些原因,这绝不会评估为true
,因为input[value]
毫无意义。此外,您应使用===
代替==
。true
,则会尝试返回一个名为data
的变量,该变量从未在函数中定义,因此肯定是null
。< / LI>
醇>