如何将当前选项值放入数组中?
How do I get the current option values into an array?
假设我有一个列表:
<select>
<option value="Horse">Horse</option>
<option value="Bird">Bird</option>
<option value="Dogs">Dogs</option>
<option value="Cats">Cats</option>
</select>
我知道如何通过循环获取每个选项的值。我的问题是,如果满足某些条件,我的代码会将默认值更改为某些内容,但如果不满足条件,我需要恢复为默认值。我需要将默认值放入一个数组中,这样我就可以在不满足条件时使用它们恢复原状……等等。我需要纯 javascript 没有框架。
因此,例如,如果我将 <option value="Horse">Horse</option>
更改为 <option value="Train">Train</option>
,我需要能够在更改之前存储 <option value="Horse">Horse</option>
,就像您可以获取输入的默认值一样字段以在需要时还原为它。
使用以下代码:
var options = document.querySelectorAll("option");
var optionsArray = Array.prototype.map.call(options, function(x) {
return x.value;
});
<select>
<option value="Horse">Horse</option>
<option value="Bird">Bird</option>
<option value="Dogs">Dogs</option>
<option value="Cats">Cats</option>
</select>
我找到了解决方案,那就是在页面加载时获取值并确保您的脚本位于结束正文标记之前。
假设我有一个列表:
<select>
<option value="Horse">Horse</option>
<option value="Bird">Bird</option>
<option value="Dogs">Dogs</option>
<option value="Cats">Cats</option>
</select>
我知道如何通过循环获取每个选项的值。我的问题是,如果满足某些条件,我的代码会将默认值更改为某些内容,但如果不满足条件,我需要恢复为默认值。我需要将默认值放入一个数组中,这样我就可以在不满足条件时使用它们恢复原状……等等。我需要纯 javascript 没有框架。
因此,例如,如果我将 <option value="Horse">Horse</option>
更改为 <option value="Train">Train</option>
,我需要能够在更改之前存储 <option value="Horse">Horse</option>
,就像您可以获取输入的默认值一样字段以在需要时还原为它。
使用以下代码:
var options = document.querySelectorAll("option");
var optionsArray = Array.prototype.map.call(options, function(x) {
return x.value;
});
<select>
<option value="Horse">Horse</option>
<option value="Bird">Bird</option>
<option value="Dogs">Dogs</option>
<option value="Cats">Cats</option>
</select>
我找到了解决方案,那就是在页面加载时获取值并确保您的脚本位于结束正文标记之前。