jquery data()没有附加值

时间:2012-11-14 17:40:36

标签: javascript jquery

我正在尝试使用来自jquery options调用的jquery select将某些数据附加到特定类的data()菜单中的ajax()。但是当我尝试调用它时,我收到的错误是它没有附加。或者,更准确地说它根本没有被应用,因为下面的反倒数第二行代码中的console.log($(this).data('address'.vendorName));给出了错误Uncaught TypeError: Cannot read property 'vendorName' of undefined

内部$.each()循环是最后一次尝试,因为我认为也许只是使用 $('.vendor_address_id_' + id).data....未应用于该类的所有元素。但我真的不认为这是必要的。我做错了什么?

$.each(returnedData, function (key, val) {
    var id = val.id;

    //attach address information to each select option for display in .vendor_full_address_table
    $('.vendor_address_id_' + id).each(function (k, v) {

        $(this).data('address', {
            'vendorName': val.vendor_name,
            'address1': val.address1,
            'address2': val.address2,
            'city': val.city,
            'state': val.state,
            'zip': val.zip
        });
        //gives error: Uncaught TypeError: Cannot read property 'vendorName' of undefined 
        console.log($(this).data('address').vendorName);
    });
});



//console.log(returnedData);
Object
    address_0: Object
        address1: "street address1"
        address2: ""
        city: "Kalamazoo"
        id: "15"
        state: "MI"
        vendor_name: "companyA"
        zip: "123456"
    address_1: Object
        etc...
        etc...
        etc...
    address_2: Object
        etc...
        etc...
        etc...

1 个答案:

答案 0 :(得分:1)

而不是

val.vendor_name

使用

returnedData.vendor_name

此处 val 是迭代中特定returnedData[key]值的值。

您正在尝试从原始类型访问属性,这是 val