【发布时间】:2014-08-19 15:53:52
【问题描述】:
我有一个动态填充的下拉列表。我发送一些 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。我怎样才能做到这一点?
【问题讨论】:
标签: javascript jquery html local-storage