【问题标题】:Can I apply an 'onchange' event by radio group [duplicate]我可以通过广播组应用“onchange”事件吗?
【发布时间】:2016-02-21 17:17:44
【问题描述】:

我有点迷路了。

我有几个单选按钮,它们都具有相同的名称,因此它们被分组。

我无法解决的是,我还将应用更改事件吗?我无法获取 elementsByName ,因为这将返回一个数组。

因此,与单选按钮通常一样,只能选择 1 个。我想要一个事件在它改变时触发。

我的问题是,我必须对每个单选按钮应用一个事件,还是可以按组应用一个“onchange”事件?

【问题讨论】:

  • 我建议使用 jQuery 来帮忙。您可以执行$("input[name='radioname']").on("change", function() { // do something });,它将选择您所有的单选按钮并附加 on change 事件。然后您可以使用$(this).val() 确定点击了哪一个

标签: javascript html


【解决方案1】:

使用控制台查看它的运行情况,它按要求工作。诀窍是定位父对象,然后比较被点击的内容和被认为是 currentTarget 的内容。

var fSet = document.querySelector("fieldset");
fSet.addEventListener("change", notify, false);

function notify(event) {
  if (event.target !== event.currentTarget) {
    var sRadio = event.target.id;
    console.log("The selected radio is: " + sRadio);
  }
  event.stopPropagation();
}
<fieldset>
  <legend>Radio Button onChange</legend>
  <input type="radio" id="a0" name="rGroup" checked="checked">
  <input type="radio" id="a1" name="rGroup">
  <input type="radio" id="a2" name="rGroup">
  <input type="radio" id="a3" name="rGroup">
  <input type="radio" id="a4" name="rGroup">
  <input type="radio" id="a5" name="rGroup">
  <input type="radio" id="a6" name="rGroup">
  <input type="radio" id="b0" name="rGroup">
  <input type="radio" id="b1" name="rGroup">
  <input type="radio" id="b2" name="rGroup">
  <input type="radio" id="b3" name="rGroup">
  <input type="radio" id="b4" name="rGroup">
  <input type="radio" id="b5" name="rGroup">
  <input type="radio" id="b6" name="rGroup">
</fieldset>

【讨论】:

    猜你喜欢
    • 2011-05-16
    • 1970-01-01
    • 2017-07-11
    • 1970-01-01
    • 2016-03-26
    • 2014-02-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多