我正在尝试使用来自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...
答案 0 :(得分:1)
而不是
val.vendor_name
使用
returnedData.vendor_name
此处 val 是迭代中特定returnedData[key]
值的值。
您正在尝试从原始类型访问属性,这是 val 。