2014-09-24 91 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