javascript - jquery data() 没有附加值

标签 javascript jquery

我正在尝试使用来自的 jquery data() 将一些数据附加到特定类的 select 菜单中的 options jquery 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...

最佳答案

代替

val.vendor_name

使用

returnedData.vendor_name

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

并且您正在尝试从这里的 val 原始类型访问属性。

关于javascript - jquery data() 没有附加值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13384214/

相关文章:

javascript - 使用 Canvas 为饼图等填充圆制作动画

javascript - 使用 javascript 循环月份

javascript - 扩展 jQuery post 函数

javascript - IE8 条件 javascript 不链接

javascript - 跨元素的数据持久化

javascript - 检测用户是否单击了 “back” 按钮 - 移动浏览器

jquery - 点击时需要隐藏div

php - 上传 csv 文件数据后服务器崩溃或 mysql 出错

jQuery slider 不适用于网站

javascript - D3 JSON 文件,源和索引为字符串而不是索引