我已经尝试过几次以使其正常工作,我正在制作一个排行榜,其文本功能输入可设置本地存储值。我无法使其与将键设置为数组一起使用,因此我可以对同一键具有多个值。
var userName = document.getElementById('navn');
var userAvg = document.getElementById('avg');
var userAmount = document.getElementById('amount');
function addData() {
localStorage.setItem('userName', userName.value);
localStorage.setItem('userAvg', userAvg.value);
localStorage.setItem('userAmount', userAmount.value);
var table = document.getElementById("myTable");
var row = table.insertRow(4);
var cell1 = row.insertCell(0);
var cell2 = row.insertCell(1);
var cell3 = row.insertCell(2);
cell1.innerHTML = navn.value;
cell2.innerHTML = avg.value;
cell3.innerHTML = amount.value;
}
<html>
<div id="board">
<ul id="list"></ul>
<br/> Navn
<input type="text" id="navn" />
<br/> Gennemsnitlig Promille
<input type="text" id="avg" />
<br/> Antal genstande i alt
<input type="text" id="amount" />
<br/>
<br/>
<button type="button" onclick="addData()">Tilføj Data </button>
<table id="myTable">
<tr>
<th onclick="sortTable(0)">Navn</th>
<th onclick="sortTable(1)">Gennemsnitlig Promille</th>
<th onclick="sortTable(2)">Antal Genstande i alt</th>
</tr>
</table>
</div>
</html>
当将数组存储在本地存储中时,您需要对其进行字符串化,而从本地存储中获取时,则需要再次解析JSON。
这里是一个例子:
//saving to local storage
localStorage.setItem("userName", JSON.stringify(userName.value));
//reading from local storage
var userName = JSON.parse(localStorage.getItem("userName"));
根据您的情况,您可以创建这样的对象:
let user = {
userName: "...",
userAvg: "...",
userAmount: "..."
}
用localStorage.setItem("user", JSON.stringify(user))
保存。
用user = JSON.parse(localStorage.getItem("user"))
检索其内容。