我的问题如下: 我已经从我已经拥有的表中创建了一个数组,并将我想要的列存储到一个数组中,然后使用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是一个在其他方法中使用固定数字的变量,&#34; getElementById&#34;有效。)
之后我想在另一个HTML doc中的另一个表中显示这些数据。 所以,以下是我的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:我已经修改过数据存储并在第二页上正确调用,所以问题现在出现在&#34; tablegenerate&#34;功能
答案 0 :(得分:1)
修改强>
我想我发现问题试试这个:
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));