我的问题如下: 我从已有的表中创建了一个数组,并将我想要的列存储到一个数组中,然后使用 JSON.stringify 将其存储在 localStorage 中:
function createArray(){
var arrayPlayerName = [];
var count = 1;
while(count<=playerNum){
arrayPlayerName.push(document.getElementById('playertable').rows[count].cells[1].innerHTML);
count++;
}
localStorage.setItem("playerNameArray", JSON.stringify("arrayPlayerName"));
}
(playerNum是其他方法中使用的固定数字的变量,“getElementById”有效)。
之后,我想在另一个 HTML 文档的另一个表格中显示此数据。 所以,以下是我的 HTML 代码:
<table class="myTable">
<thead>
<tr class="row">
<th colspan="3">Array List</th>
</tr>
</thead>
</table>
这是脚本:
var storedPlayerArray = JSON.parse(localStorage.getItem("playerNameArray"));
tablegenerate (storedPlayerArray);
function tablegenerate (list) {
for(i=0; i<playerNum;i++){
var $formrow = '<tr><td>'+list[i]+'</td></tr>';
$('.myTable').append($formrow);
}
}
我不确定我做错了什么..提前致谢。
编辑:我用一个按钮调用 createArray 函数,然后用另一个按钮导航到第二页。第二页应直接加载。
EDIT2:我修改了数组正在第二页上正确存储和调用,所以现在问题出在“tablegenerate”函数上。
最佳答案
编辑
我想我发现了问题试试这个:
var storedPlayerArray = JSON.parse(localStorage.getItem("playerNameArray"));
function tablegenerate (list) {
for(var i=0; i<list.length;i++){
var $formrow = $('<tr><td>'+list[i]+'</td></tr>');
$('.myTable').append($formrow);
}
}
$(document).ready(function(){
tablegenerate (storedPlayerArray);
})
您的
createArray
函数有问题。您在字符串而不是要存储的数组上运行 JSON.stringify
。
改变这个:
localStorage.setItem("playerNameArray", JSON.stringify("arrayPlayerName"));
对此:
localStorage.setItem("playerNameArray", JSON.stringify(arrayPlayerName));
关于javascript - 在表格 HTML 的另一页上显示表格数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41998762/