我正在尝试使用来自的 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/