在表格HTML

时间:2017-02-02 09:42:53

标签: 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是一个在其他方法中使用固定数字的变量,&#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;功能

1 个答案:

答案 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));