2014-09-24 46 views
0

我想仅打印json的2个结果,但将当前时间包含在内。 例如:上午11点今天将要打印的只有第二和第三项在当前时间查看JSON项目

JAVASCRIPT

$(data.users).each(function() { 
var output = "<ul><li>" + this.firstName + " " + this.lastName + "--" + this.date + this.hour+" </li> 
</ul>"; 
$('#placeholder').append(output); 
}); 

例子:JSFIDDLE

谢谢!

+0

你的问题不清楚给我。你能否给出一个详细的例子来解释你需要什么(用任何虚拟数据)。 – Subha 2014-09-24 11:14:42

+0

在例如链接(http://jsfiddle.net/mdd2b0ye/)的结果将是: 雷比利亚洛沃斯 - 201409241100个 雷比利亚洛沃斯 - 201409241200 – jonnywalker 2014-09-24 11:17:49

+0

遗憾的是它不工作 :-( 的http://的jsfiddle .net/mdd2b0ye/1/ – jonnywalker 2014-09-24 12:18:41

回答

0

您可以使用filter

data.users.filter(function(element) { return element.hour === "1100" })

您可以修改根据你如何获得当前时刻,您是否要舍入到小时的实际测试中,等

1

试试这个 -

$(data.users).each(function() { 
    var date = new Date(); 
    var month = (date.getMonth() + 1); 
    month = month < 10 ? '0' + month : month; 
    var dayStr = date.getFullYear() + '' + month + '' + date.getDate(); 

    var hour = date.getHours() < 10 ? '0' + date.getHours(): date.getHours(); 
    var mins = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes(); 
    var time = hour + '' + mins; 

    if(this.date == dayStr && parseInt(this.hour, 10) >= parseInt(time, 10)) 
    var output = "<ul><li>" + this.firstName + " " + this.lastName + "--" + this.date + this.hour+"</li></ul>"; 

    $('#placeholder').append(output); 
}); 
+0

不幸的是它不工作:-( http://jsfiddle.net/mdd2b0ye/1 – jonnywalker 2014-09-24 12:22:49

+0

这取决于当前时间。如果你需要一些硬编码时间,你可以在那里硬编码。代码逻辑是,它将包含当前时间并且大于当前时间 – Subha 2014-09-24 12:27:33

+0

我刚刚在JSFIDDLE中检查过,如果将行“var time = hour +''+ mins;”更改为“var time ='1100';” (硬编码值),它会返回你想要的结果。 – Subha 2014-09-24 12:31:53