更改localStorage和下拉列表中的项目值

时间:2015-03-23 23:57:47

标签: javascript arrays

我有这个javascript代码,

function saveQ(){
var title = document.getElementById('title').value;
for(var s = 1; s < qs.length;s++){
 var ques = document.getElementById("eq"+qs[s]).value;
 localStorage.setItem(title+"_e"+qs[s],ques);
}
var existingEntries = localStorage.getItem("Tests");
var existingEntries2 = JSON.parse(existingEntries);
existingEntries2.push(title);
localStorage.setItem("Tests", JSON.stringify(existingEntries2));
listTest();
}
function listTest(){
    var t = localStorage.getItem("Tests");
    var tests2 = JSON.parse(t);
    var dropdown = document.getElementById('list');
    while (dropdown.firstChild) {
            dropdown.removeChild(dropdown.firstChild);
        }
    for(var i=0;i<tests2.length;i++){
        var o = document.createElement("option");
            o.value = tests[i];
            o.text = tests[i];
        dropdown.appendChild(o);
    }
}

如果单击保存按钮,将调用saveQ函数。 那么localStorage必须是,

"["Blank Test","Personality Test","Basic Test","Sample Test"]"

然后下拉列表将被更改。 问题是为什么在下拉列表中,它是&#34;未定义&#34;?

1 个答案:

答案 0 :(得分:0)

这只是一个容易犯错误的问题。

for的{​​{1}}循环中,您指的是listTest()而不是tests[i]