jquery对象作为函数的参数

时间:2011-10-13 06:46:19

标签: json function object parameter-passing

这是我的jquery回复:

[ 

    { "depot":
      { 
       "id": "D1",
        "intersection": {
            "first": "Markham",
            "second": "Lawrence"
        },
        "address": {
            "number": "25",
            "street": "Cougar Court",
            "city": "Scarborough",
            "province": "ON",
            "postal_code": "M1J"
        } 
     },
     "vehicle": [

            {
                "id": "V1",
                "depot_id": "D1",
                "model": "Ford Focus",
                "price": "45",
                "km_per_litre": "15",
                "cargo_cu_m": "YES",
                "category": "Compact car",
                "image": "www.coolcarz.com"
            }

                ,

            {
                "id": "V2",
                "depot_id": "D1",
                "model": "Honda Civic",
                "price": "45",
                "km_per_litre": "150",
                "cargo_cu_m": "YES",
                "category": "Compact car",
                "image": "www.coolcarz.com"
            }

                ,

            {
                "id": "V8",
                "depot_id": "D1",
                "model": "Pontiac Aztek",
                "price": "10",
                "km_per_litre": "6",
                "cargo_cu_m": "YES",
                "category": "SUV",
                "image": "www.nocoolcarz.com"
            }

                ,

            {
                "id": "V12",
                "depot_id": "D1",
                "model": "Chevrolet Impala",
                "price": "45",
                "km_per_litre": "12",
                "cargo_cu_m": "YES",
                "category": "Standard car",
                "image": "www.coolcarz.com"
            }

                ,

            {
                "id": "V29",
                "depot_id": "D1",
                "model": "Nissan Leaf",
                "price": "150",
                "km_per_litre": "0",
                "cargo_cu_m": "YES",
                "category": "Electronic Car",
                "image": "www.coolcarz.com"
            }

        ]
    }

     ,

    { "depot":
      { 
       "id": "A1",
        "intersection": {
            "first": "Markham",
            "second": "Lawrence"
        },
        "address": {
            "number": "25",
            "street": "Cougar Court",
            "city": "Scarborough",
            "province": "ON",
            "postal_code": "m1J"
        } 
     },
     "vehicle": [

        ]
    }

  ]

我想要做的是,在我的代码中的某个时刻,当我收到此响应数据时,我想将数据[0]或数据[0] .vehicle [1]传递给函数 我现在这样做的方式是:

function(data) {
    var items = [];
    for( i=0; i<data.length; i++){
        items.push('<b>' + data[i].depot.intersection.first+"-"+ data[i].depot.intersection.second + " depot has following cars:"+ '</b>');
        for( k=0; k<data[i].vehicle.length;k++){
            str = '<li> <a href="#" onClick="moreInfo('+data+')">' +       data[i].vehicle[k].category +"</a>, $"+ data[i].vehicle[k].price +' a day </li>';

                                    items.push(str);

实际上我正在尝试创建一个超链接(车辆类别为文本),当用户点击此超链接时,我想将车辆信息数组传递给一个名为moreInfo的新功能,该功能可以完成其工作。 Rit现在当我这样做并单击超链接时,我看到错误

missing ] after element list
timepass([object Object],[object Object]

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

从json代码的开头和结尾删除2个方括号,并将其用作对象而不是数组。

你所做的是创建一个对象数组而不是JSON对象