我已经在数组obj(arrData)中复制了第1页上的html表的数据。并且我已经将该arrData保存到会话存储中。现在在第2页上,我如何显示从arrData到html表的数据。JS中的新特性。提前感谢
第1页JS
var arrData=[];
$("#checkout").on('click',function(){
$("#table tr").each(function(){
var currentRow=$(this);
var col1_value=currentRow.find("td:eq(0)").text();
var col2_value=currentRow.find("td:eq(1)").text();
var obj={};
obj.col1=col1_value;
obj.col2=col2_value;
arrData.push(obj);
sessionStorage.myArrData=JSON.stringify(arrData);
});
console.log(arrData);
});
第2页
<table class="table table-checkout" id="table">
<thead>
<tr>
<th>Item</th>
<th>Quantity</th>
</tr>
</thead>
<tbody>
</tbody>
第2页JS
var arrData = JSON.parse(sessionStorage.myArrData);
发布于 2018-08-12 02:44:14
您需要使用sessionStorage.setItem("foo",12),而不是sessionStorage.foo = 12;
后者将一个新属性附加到javascript对象,而不是与浏览器会话API通信。当页面重新加载时,附加的对象将消失。
要取回该项目,请使用sessionStorage.getItem
Mozilla docs for sessionStorage including setItem and getItem
完成后,您将需要一种在表中创建新表行的方法。有许多用于此目的的框架,但您也可以自己构建表(步骤比使用其他元素多几步)
发布于 2018-08-12 03:57:38
根据我在上面的理解,在var arrData = JSON.parse(sessionStorage.myArrData);
之后的对象数组中有数据,格式如下。
arrData:
[
{col1:"Item1", col2:"quantity1"},
{col1:"Item1", col2:"quantity1"},
...
]
现在要在第2页上显示此数据
var rows = "";
arrData.map((row)=>{
var row = '<tr><td>'+row.col1+'</td><td>'+row.col2+'</td></tr>';
rows = rows+row;
})
var tbody = document.queryselector('#table tbody');
tbody.innerHTML = rows;
https://stackoverflow.com/questions/51802665
复制相似问题