gpt4 book ai didi

javascript - 如何从 JavaScript 中的 radio 输入中获取 "unchecked"事件?

转载 作者:行者123 更新时间:2023-12-04 17:52:01 25 4
gpt4 key购买 nike

我注意到“更改”事件仅在检查元素时触发一个事件。但是在未选中时似乎不会触发任何事件,还是我错过了什么?

我想对“取消选中”做一些事情,但这永远不会触发。

理想情况下,我会 不是 想要将输入保存在一个数组中,并在更改时检查哪个被选中。

如您所见,这是一个示例,“做某事”永远不会被解雇:

document.querySelector("input").addEventListener("change", function(ev) {
console.log(ev.target.checked);
if(!ev.target.checked) console.log("do something");
});
<input type="radio" name="type" checked="checked" value="guest" />
<input type="radio" name="type" value="walk_in" />


这似乎很基本......也许我忽略了一些东西?
谢谢!

最佳答案

它仅在 targeted 时有效元素,而不是其他元素。更好地使用他们验证所有元素更改的每个功能

document.querySelectorAll("input").forEach(function(a) {
a.addEventListener("change", function() {
console.log(this.checked);
console.log("checked radio value="+this.value);
if (!this.checked) console.log("do something");
})
})
<input type="radio" name="type" checked="checked" value="guest" />
<input type="radio" name="type" value="walk_in" />


或者,如果您需要验证检查和取消检查*(如切换)*,请使用 type=checkbox而不是 radio .

Radio按钮没有 toggle复选框有 toggle

document.querySelector("input").addEventListener("change", function(ev) {
console.log(ev.target.checked);
if (!ev.target.checked) console.log("do something");
});
<input type="checkbox" name="type" checked="checked" value="guest" />
<input type="checkbox" name="type" value="walk_in" />

关于javascript - 如何从 JavaScript 中的 radio 输入中获取 "unchecked"事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43910751/

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