2013-06-27 67 views
0
<?php 
date_default_timezone_set('America/Los_Angeles'); 
$time = date('Gi', time()); 
$day = date('l', time()); 
?> 

<script type="text/javascript"> 
$(function() { 
    $(".show_hide").click(function() 
     { 
     var locTime = <?php echo json_encode($time) ?>; 
     var locDate = <?php echo json_encode($day) ?>; 

$.getJSON("url_to_json", function(data) { 
    for (var i = 0; i < data.location[locDate].length; i++) { 
    console.log("sucess1"); 
    xr_mon= data.location.locDate[i]; 
    console.log("sucess2"); 
    if (locTime >= xr_mon.kai && locTime < xr_mon.guan){ 
     console.log("cafe is open!"); 
     $('.xr').show(); 
     break; 
     } 


    else { 
     console.log("cafe is closed"); 
     $('.xr').hide(); 
    } 
    } 
}); 
     } 
); 
}); 

JSON我可以使用預設變量放置json調用字符串嗎?

{ "location": 
{ 
    "Monday": [ 
    {"kai": 700, "guan": 1400}, 
    {"kai": 1700, "guan": 2100} 
    ], 

    "Tuesday": [ 
    {"kai": 700, "guan": 1400}, 
    {"kai": 1700, "guan": 2100} 
    ], 

    "Wednesday": [ 
    {"kai": 700, "guan": 1400}, 
    {"kai": 1700, "guan": 2100}, 
    {"kai": 2200, "guan": 2400}, 
    {"kai": 0, "guan": 200} 
    ], 

    "Thursday": [ 
    {"kai": 700, "guan": 1400}, 
    {"kai": 1700, "guan": 2100}, 
    {"kai": 2200, "guan": 2400}, 
    {"kai": 0, "guan": 200} 
    ], 

    "Friday": [ 
    {"kai": 700, "guan": 1400}, 
    {"kai": 1700, "guan": 2100}, 
    {"kai": 2200, "guan": 2400}, 
    {"kai": 0, "guan": 200} 
    ], 

    "Saturday": [ 
    {"kai": 1000, "guan": 1500}, 
    {"kai": 1700, "guan": 2100}, 
    {"kai": 2200, "guan": 2400}, 
    {"kai": 0, "guan": 200} 
    ], 

    "Sunday": [ 
    {"kai": 1000, "guan": 1500}, 
    {"kai": 1700, "guan": 2100}, 
    {"kai": 2200, "guan": 2400}, 
    {"kai": 0, "guan": 200} 
    ] 
} 
} 

其中偕=開放時間 和關=閉小時

與locDate經由PHP服務器側日期拉出,我想更換與我的JSON生成的日期調用星期幾的部分的字符串。

從這個

for (var i = 0; i < data.location.'locDate'.length; i++) 

這個

我如何做一個正確的方式。有人建議使用[locDate],但它不會替代php日期數據中的變量。

+0

對於記錄,這是不** ** JSON。這些是原生JavaScript對象。 JSON是JavaScript對象的_serialization_ - 這就是爲什麼有符號** N **的原因。 –

+0

我想通過使用data.location.'locDate'.length調用外部JSON,但通過php服務器端給我當前的日期。 – user2510532

+0

「JSON調用」將是使用AJAX(或類似)方法的實際查詢。然而,一旦你擁有了它(和解析)它現在是一個JavaScript _object_。 –

回答

2

使用括號表示法。

for (var i = 0; i < data.location[locDate].length; i++) 

又如:

thing = [1, 2, 3, 4, 5] 
//The following lines do the same thing: 
thing.pop() 
thing['pop']() 
相關問題