如何在for循环中使用计数器

时间:2015-04-07 13:17:16

标签: javascript jquery loops

我正在尝试在sessionStorage中存储值。下面的代码工作正常,但我想使用循环:

$(document).ready(function(){
    $("#leksjon_submit").click(function(){  
        sessionStorage.svar_15_1=document.getElementById("spm_15_1").value;
        sessionStorage.svar_15_2=document.getElementById("spm_15_2").value;
        sessionStorage.svar_15_3=document.getElementById("spm_15_3").value;
        sessionStorage.svar_15_4=document.getElementById("spm_15_4").value;
        sessionStorage.svar_15_5=document.getElementById("spm_15_5").value;
    });
}); 

这是我尝试使用循环的许多尝试之一。这是行不通的。 sessionStorage中没有保存任何内容。有什么建议?谢谢!

$(document).ready(function(){   
    $("#leksjon_submit").click(function(){
        for (i = 1; i < 6; i++) {
            sessionStorage.svar_15_[i]=document.getElementById("spm_15_")+i.value;  
            }
    });     
});

4 个答案:

答案 0 :(得分:3)

您可以使用i作为您的计数器:但是当您使用变量访问对象中的值时,您需要使用括号表示法。

for (i = 1; i < 6; i++) {
    sessionStorage['svar_15_'+i]=document.getElementById("spm_15_"+i).value;  
}

答案 1 :(得分:1)

您需要使用括号表示法

sessionStorage["svar_15_" + i] = document.getElementById("spm_15_"+i).value; 

答案 2 :(得分:1)

您可以使用setItem()方法:

sessionStorage.setItem('svar_15_' + i, document.getElementById('spm_15' + i).value);

答案 3 :(得分:0)

像这样的东西。别忘了申报你的循环变量。

for (var i = 1; i < 6; i++) {
  var key = 'svar_15_' + i;
  var id = 'spm_15_' + i;
  sessionStorage[key] = document.getElementById(id).value;  
}