JQuery объект в качестве параметра для функции - PullRequest
0 голосов
/ 13 октября 2011

Это мой ответ 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": [

        ]
    }

  ]

Что я хочу сделать, так это то, что в какой-то момент моего кода, когда я получил эти данные ответа, я хочу передать, скажем, data [0] или or data [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, которая выполняет свою работу. Рит сейчас, когда я делаю это и нажимаю гиперссылку, я вижу ошибку

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

Есть идеи?

1 Ответ

0 голосов
/ 13 октября 2011

Снимите 2 квадратные скобки с начала и конца кода json и используйте его как объект, а не как массив.

Вы создали массив объектов, а не JSON-объект

...