$each只用于json中的特定数组



我正在使用JSON制作一个列表视图,并且成功了,但是…我在徘徊,如果有可能发送其他数据到我的页面,这是"不在一个数组"与相同的JSON调用,而不必把它们通过$each?

这是我的JSON:——EDIT——
[{"menutime":"2013-04-23 19:23:42"},{"list":"menu1"},{"list":"Menu2"},{"list":"Menu3"}]

如你所见,我有3个"list",我像这样把它们放到listview中:

dataCallback = function (data) {
    var content = [];
    // var now = data.menutime; // HERE I WANT THE MENUTIME TO BE PUT INTO A VARIABLE //
    $.each(data, function (i, val) {
        content.push(val.list); // GETTING ALL THE MENUS //
    });
    $('#games').html(content.join('')).listview('refresh');
}

我看不懂菜单时间…我该怎么做呢?

Thanks in advance:-)

---------------- EDIT ----------------

我已经试过了,就像凯文B建议的那样,但我不能让它工作?!

dataCallback = function(data){
    alert("Date: "+data.menutime);
    //var content = data.list.join("");
    //var now = data.menutime; // HERE I WANT THE MENUTIME TO BE PUT INTO A VARIABLE //
    $('#userbar').html(data.profile); // FETCHING USERS DATA FOR PROFILEBAR //
    //$('#games').html(content).listview('refresh');
}

在我的警报中,我得到"未定义"。

我的"jason"是这样的:

([{"menutime":"2013-04-25 15:57:50"},{"profile":"troels"}])

知道为什么这个不工作吗?

如果您可以修改服务器返回的内容,请使它返回的数据结构更适合它所包含的内容。

{ 
    "menutime": "2013-04-23 19:23:42",
    "list": ["menu1","menu2","menu3"]
}
现在你的回调可以更简单:
dataCallback = function (data) {
    var content = data.list.join("");
    var now = data.menutime; // HERE I WANT THE MENUTIME TO BE PUT INTO A VARIABLE //
    $('#games').html(content).listview('refresh');
}

您没有访问menu -

content.push(val.menutime);

你的json应该是这样的-

 [{"menutime":"2013-04-23 19:23:42"},{"list":"menu1"},{"list":"Menu2"},{"list":"Menu3"}]

你可以把数组包装在一个对象中

dataCallback = function (data) {
    var content = [];
    // var now = data.menutime; // HERE I WANT THE MENUTIME TO BE PUT INTO A VARIABLE //
    $.each(data, function (i, val) {
        content.push(val.list); // GETTING ALL THE MENUS //
    });
    var sendData = {
          content :content ,
          menutime:now
    };
    $('#games').html(sendData .content.join('')).listview('refresh');
    ///use sendData.menutime to get menutime
} 

最新更新