gpt4 book ai didi

javascript - 无法使用 JS 循环获取选定选项

转载 作者:行者123 更新时间:2023-11-28 03:25:00 25 4
gpt4 key购买 nike

我正在使用 JS for 循环获取选定的单选按钮,并且需要对选择和选项下拉列表执行相同的操作。我似乎无法弄清楚到底需要什么语法。

参见下面的代码

HTML

    <form name="formeyes">
<h3>Choose an eye colour</h3>
Blue <input type="radio" name="myradio" value="Blue" />
Black <input type="radio" name="myradio" value="Black" />
Green <input type="radio" name="myradio" value="Green" />
Grey <input type="radio" name="myradio" value="Grey" />
Light Brown <input type="radio" name="myradio" value="LightBrown" />
Dark Brown <input type="radio" name="myradio" value="DarkBrown" />
</form>


<div class="select-eyes">
<h3>Choose an eye colour</h3>
<select id="formeyes">
<option type="text" name="myoption" value="eyes">choose eyes</option>
<option type="text" name="myoption" value="Blue">Blue</option>
<option type="text" name="myoption" value="Black">Black</option>
<option type="text" name="myoption" value="Green">Green</option>
<option type="text" name="myoption" value="Grey">Grey</option>
<option type="text" name="myoption" value="LightBrown">Light Brown</option>
<option type="text" name="myoption" value="DarkBrown">Dark Brown</option>
</select>
</div>

单选按钮的 JS(控制台正确记录所选值)

<script>
var radioEye = ""

var radios = document.forms["formeyes"].elements["myradio"];
for (var i = 0; i < radios.length; i++) {
radios[i].onclick = function() {
radioEye = this.value;
console.log(radioEye);
drawAvatar()
}
}
</script>

用于选择下拉列表的 JS (我想在其中控制台记录所选选项)

var optionEye = ""

var radios = document.getElementById("formeyes").options;

for (var i = 0; i < radios.length; i++) {
radios[i].onchange = function() {
optionEye = this.value
console.log(optionEye);
drawAvatar()
}
}

请有人帮忙。

最佳答案

需要考虑的一些事项:

A)您不将事件附加到选项,而是附加到选择本身。

B) 您可以使用事件变量。

例如:

var optionEye = ""

var radios = document.getElementById("formeyes");

radios.addEventListener("change", function(event) {
optionEye = event.target.value;
console.log(optionEye);
drawAvatar();
});

事件选项包含一个 target 属性,该属性指向 HTML 元素,您可以从中获取当前值。

关于javascript - 无法使用 JS 循环获取选定选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58729246/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com