我在localstorage中保存了一个数组,并尝试根据输入值删除一个元素onclick。我有下面的代码,但我不能让它工作。请帮助,提前致谢:)
var datarray = [];
function deldata() {
// retrieve stored data (JSON stringified) and convert
var storedData = localStorage.getItem("list_data_key");
if (storedData) {
datarray = JSON.parse(storedData);
}
var titleValue = document.getElementById('listxt').value;
// Find and remove item from an array
var i = array.indexOf(titleValue);
if(i != -1) {
array.splice(i, 1);
}
localStorage.setItem("list_data_key", JSON.stringify(datarray));
datapost();
}
答案 0 :(得分:1)
注意你的变量名称。
function deldata() {
// retrieve stored data (JSON stringified) and convert
var storedData = localStorage.getItem("list_data_key");
if (storedData) {
datarray = JSON.parse(storedData);
}
var titleValue = document.getElementById('listxt').value;
// Find and remove item from an array
var i = datarray.indexOf(titleValue); // HERE (was 'array')
if(i != -1) {
datarray.splice(i, 1); // HERE (was 'array')
}
localStorage.setItem("list_data_key", JSON.stringify(datarray));
datapost();
}
答案 1 :(得分:0)
更改
var i = array.indexOf(titleValue);
if(i > -1) {
array.splice(i, 1);
}
以强>
var i = datarray.indexOf(titleValue);
if(i > -1) {
datarray.splice(i, 1);
}