gpt4 book ai didi

javascript - 在 localStorage 中存储和检索动态填充的下拉列表

转载 作者:行者123 更新时间:2023-11-29 18:13:24 25 4
gpt4 key购买 nike

我有一个动态填充的下拉列表。我发送一些 ajax 请求并获得响应,并根据条件填充下拉列表。现在我需要将这些填充的列表存储在 localStorage 中,因为我需要显示之前在页面刷新时填充的值。

一切正常,除了我只得到下拉列表中填充的最后一个值。并非所有先前填充的值。我需要检索之前填充的所有值。

index.jsp

<input type="radio" class="radioButton" value="Display all" checked onclick="fnCheck();"> Display All

<input type="radio" class="radioButton" value="Display Divisions" onclick="fnCheck();"> Display Divisions


<input type="radio" class="radioButton" value="Display Data" onclick="fnCheck();"> Display Data
<select id="convoy_list">
<option>Values</option>
</select>
<input type="button" id="testbtn" value="Test" onclick="fnClickTest();" >
<input type="button" id="ok" value="OK" onclick="fnOK();" >
<input type="button" id="Refresh" value="Refresh" onclick="fnDisplay();"

myjs.js

function test(){
$.ajax({
//some requests and data sent
//get the response back

success:function(responsedata){
for(i=0;i<responsedata.data;i++):
{
var unitID=//some value from the ajax response
if(somecondition)
{
var select=$(#convoy_list);
$('<option>').text(unitID).appendTo(select);
var conArr=[];
conArr=unitID;
test=JSON.stringify(conArr);
localStorage.setItem("test",test);
}
}
}
});
}

在另一个函数 display() 中,我尝试检索 localStorage 值

    function display(){
if(localStorage.getItem("test")){
var listId=$(JSON.parse(localStorage.getItem("test")));
var select=$(#convoy_list);
$('<option>').text(listId).appendTo(select);

}

此处如果下拉列表中填充的数据为实例的 C1 C2 和 C3。在我刷新页面后,只有 C3 填充在下拉列表中。我希望刷新后重新填充所有值,即 C1、C2、C3。我怎样才能做到这一点?

最佳答案

正如 David 所说,您正在覆盖 localStorage 中的项目。您命名的 key 应该始终是唯一的。键的值在每次迭代时都在变化,但键名不变。因此,要存储它,您需要在每次迭代中使用具有不同名称的 key 。而不是使用

localStorage.setItem("test",test);

使用

localStorage.setItem("test"+i,test);

这绝对不会覆盖。在你的 display() 中检索使用它

function display(){
for(var i=0;i<localStorage.length;i++){
if(localStorage.getItem("test"+i)){
var listId=$(JSON.parse(localStorage.getItem("test"+i)));
var select=$(#convoy_list);
$('<option>').text(listId).appendTo(select);

}
}
}

这将附加先前填充的下拉列表中的所有值。

关于javascript - 在 localStorage 中存储和检索动态填充的下拉列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25361020/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com