0

我正在使用 localStorage 来存储一些数据,并且所有数据都以 \n 分隔。我想删除 localStorage 中的特定数据,并且我正在使用列表框来显示所有数据。

example {"rowdata":"data1\ndata2\ndata3"} // 三个数据存储在localStorage中,localStorage中rowdata的key是storedata,rowdata是storedata三个数据拼接后的值。

有没有一种简单的方法可以删除选定的数据,例如我想删除 data3。我正在使用谷歌浏览器..

显示代码:

function populate(){
for(i=0; i<rowdata.length; i++){
var select = document.getElementById("test"); // id of the listbox
var splitRow = rowdata.split("\n");
var row = splitRow[i];
if(row != undefined)
select.options[select.options.length] = new Option(row);
}
}

删除代码:

function removeSelectedItem(){
var htmlSelect=document.getElementById('test'); // id of the listbox
if(htmlSelect.options.length == 0)
{
alert('You have already removed all list items');
return false;
{
var optionToRemove = htmlSelect.options.selectedIndex;
htmlSelect.remove(optionToRemove);
if(htmlSelect.options.length > 0)
{
htmlSelect.options[0].selected=true;
{
alert('The selected data has been removed successfully');
return true;
}

谢谢...

4

1 回答 1

0

不确定我是否清楚地理解了这个问题,但是如果您只需要更新 state if rowdatavariable 然后尝试将代码放在下面,然后从 RemoveSelectedItem 中的 select 中删除一个选项(man,以小写开头的函数名称!):

rowdata = ("\n" + rowdata + "\n").replace("\n" + htmlSelect.options[htmlSelect.options.selectedIndex].innerHTML + "\n", "").trim()
于 2013-09-15T13:36:36.510 回答