首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >生成JSON对象

问生成JSON对象
EN

Stack Overflow用户
提问于 2009-08-13 17:06:16
回答 1查看 340关注 0票数 1

我正在尝试解析我使用Javascript生成的表中的行,方法是将商品添加到购物车中,然后在用户点击保存所有商品的顺序时创建一个json对象,并使用jQuery中的$.post将其传递给php脚本。

我遇到的唯一问题是理解JSON对象,以及如何将更多项推送到对象上。我在firebug中得到一个错误,告诉我devices[i]是未定义的。我真的不确定还能有什么其他方法来完成这个任务。我以为它真的只是一个数组。

代码语言:javascript
复制
    function Save()
  {
    var devices = new Object();
    var i = 0;

$("#device_tbl tr:gt(0)").each(function(){
    var manufid = $(this).find("td").eq(0).find(".manuf_id").html();
    var modelid = $(this).find("td").eq(1).find(".model_id").html();
    var condition = $(this).find("td").eq(2).find("select").val();
    var carrier = $(this).find("td").eq(3).find("select").val();
    var imei = $(this).find("td").eq(4).find("input").val();
    var price = $(this).find("td").eq(5).html();
    alert(manufid+"\n"+modelid+"\n"+carrier+"\n"+imei+"\n"+price);

    devices[i].manufid = manufid;
    devices[i].modelid = modelid;
    devices[i].carrier = carrier;
    devices[i].imei = imei;
    devices[i].price = price;

    i++;

    });
document.write(devices);     //just for debugging


$("#final").show();  
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-08-13 17:16:56

您当前已将设备声明为对象,但您将其视为数组。

您需要将其声明为对象数组。

代码语言:javascript
复制
  function Save()
  {
    var devices = new Array();
    var i = 0;

$("#device_tbl tr:gt(0)").each(function(){
        var manufid = $(this).find("td").eq(0).find(".manuf_id").html();
        var modelid = $(this).find("td").eq(1).find(".model_id").html();
        var condition = $(this).find("td").eq(2).find("select").val();
        var carrier = $(this).find("td").eq(3).find("select").val();
        var imei = $(this).find("td").eq(4).find("input").val();
        var price = $(this).find("td").eq(5).html();
        alert(manufid+"\n"+modelid+"\n"+carrier+"\n"+imei+"\n"+price);

        devices[i] = new Object();
        devices[i].manufid = manufid;
        devices[i].modelid = modelid;
        devices[i].carrier = carrier;
        devices[i].imei = imei;
        devices[i].price = price;

        i++;

        });
document.write(devices);         //just for debugging


$("#final").show();
}

或者类似的东西。

(更新以在代码中显示它)

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1273319

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档