javascript – 在表HTML中的另一页上显示表数据

我的问题如下:

我已经从我已经拥有的表创建了一个数组,并将我想要的列存储到一个数组中,然后使用
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 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:我已经修改过数据存储并在第二页上正确调用,所以问题现在出现在“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));
点赞