2013-06-27 38 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']() 
相关问题