我正在本地存储中保存对象列表。通过以下代码
var employeeArray = [];
function SaveData() {
counter = counter + 1;
employeeArray.push
({
ID : counter,
FirstName : $('#txtFirstName').val(),
LastName : $('#txtLastName').val(),
MobileNo : $('#txtMobileNo').val(),
Address : $('#txtAddress').val()
})
localStorage.setItem("employee", employeeArray);
BindData();
}
当我通过以下代码从本地存储中检索数据时
function BindData() {
var employee = localStorage.getItem("employee");
for (var key in employee) {
alert(key);
var tr = CreateElement('tr', null)
tr.append(CreateElement('td', employee[key]));
$('#tblData').append(tr);
}
}
key
只给我索引值0,1,2 ....我正在寻找要使用的属性的名称,如key.ID
。
如何实现?
答案 0 :(得分:4)
在存储api中,值存储为字符串值,因此您需要在存储之前将employeeArray
转换为json字符串
localStorage.setItem("employee", JSON.stringify(employeeArray));
然后在阅读时,您需要将字符串转换回像
这样的对象function BindData() {
var employee = JSON.parse(localStorage.getItem("employee"));
employee.forEach(function(emp) {
var tr = CreateElement('tr', null)
tr.append(CreateElement('td', emp.FirstName));
$('#tblData').append(tr);
})
}