如何将当前选项值转换为数组?

时间:2016-01-11 02:15:50

标签: javascript select options

假设我有一个清单:

    <select>
  <option value="Horse">Horse</option>
  <option value="Bird">Bird</option>
  <option value="Dogs">Dogs</option>
  <option value="Cats">Cats</option>
</select>

我知道如何通过循环来获取每个选项的值。我的问题是我有代码,如果满足某些条件,将默认值更改为某些条件,但如果条件不满足,我需要恢复为DEFAULT值。我需要将默认值放入数组中,以便在不满足条件的情况下使用它们可以恢复...等等。我需要纯javascript没有框架。

例如,如果我将<option value="Horse">Horse</option>更改为<option value="Train">Train</option>,我需要能够存储<option value="Horse">Horse</option>之前更改它,就像获取输入字段的默认值一样如果需要,可以恢复原状。

2 个答案:

答案 0 :(得分:0)

使用以下代码:

&#13;
&#13;
var options = document.querySelectorAll("option");
var optionsArray = Array.prototype.map.call(options, function(x) {
  return x.value;
});
&#13;
<select>
  <option value="Horse">Horse</option>
  <option value="Bird">Bird</option>
  <option value="Dogs">Dogs</option>
  <option value="Cats">Cats</option>
</select>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

我找到了解决方案,那就是在页面加载时获取值,并确保您的脚本位于结束正文标记之前。