我正在为此寻找一个通用的解决方案。
考虑 2 个具有相同名称的无线电类型输入。提交时,被检查的那个决定了与表单一起发送的值:
<input type="radio" name="myRadios" onchange="handleChange1();" value="1" />
<input type="radio" name="myRadios" onchange="handleChange2();" value="2" />
取消选择单选按钮时不会触发更改事件。因此,如果已经选择了 value="1" 的收音机并且用户选择了第二个,handleChange1() 不会运行。这带来了一个问题(无论如何对我来说),因为我无法捕捉到这种取消选择的事件。
我想要的是复选框组值的 onchange 事件的解决方法,或者是一个 oncheck 事件,它不仅检测无线电何时被选中,而且何时被取消选中。
我相信你们中的一些人以前遇到过这个问题。有哪些解决方法(或者理想情况下处理此问题的正确方法是什么)?我只想捕捉更改事件,访问以前检查过的收音机以及新检查过的收音机。
PS
onclick 似乎是一个更好的(跨浏览器)事件来指示何时选中收音机,但它仍然不能解决未选中的问题。
我想为什么复选框类型的 onchange 在这样的情况下确实有效是有道理的,因为它会在您选中或取消选中它时更改它提交的值。我希望单选按钮的行为更像 SELECT 元素的 onchange 但你能做什么...