如何在sessionStorage中存储选项标签?

时间:2017-02-06 20:13:28

标签: javascript jquery html ajax session-storage

这是我的HTML:

<select>
   <option value="val1">Text1</option>
   <option value="val2">Text2</option>
   <option value="val3">Text3</option>
   <option value="val4">Text4</option>
</select>

通过$.ajax()

动态填充

我需要制作一个将"val"置于keyText的&#34; value&#34;在sessionStorage中,作为对象引用。我怎样才能做到这一点?

如何通过index进行迭代?

我的尝试:

document.getElementsByClassName('next')[0].addEventListener('click', function() {
    sessionStorage.setItem(option.value, option.innerText);
});

.addEventListener()根本没有开火。 。 。为什么呢?

另外,我之后需要加载它。我该怎么做?我使用.trigger()吗?

1 个答案:

答案 0 :(得分:2)

就像这样:

var btn = document.querySelector(".next");
var test = document.querySelector(".test");

btn.addEventListener("click", function(){
  // Get a reference to the select's options
  var options = document.querySelectorAll("option");

  // Loop through the options and store the value and text in sessionStorage:
  for(var i = 0; i < options.length; ++i){
    sessionStorage.setItem(options[i].getAttribute("value"), options[i].textContent);
  }
});

test.addEventListener("click", function(){

  // Now, just to show how to get the values out of sessionStorage:
  for (var i = 0; i < sessionStorage.length; i++){
    alert(sessionStorage.getItem(sessionStorage.key(i)));
  }

});
<select>
   <option value="val1">Text1</option>
   <option value="val2">Text2</option>
   <option value="val3">Text3</option>
   <option value="val4">Text4</option>
</select>
<button class="next">Next</button>

<button class="test">Test</button>

此代码无法使用,此处在Stack Overflow代码段环境中,但您可以看到它正常工作here