【问题标题】:Could not able to get checked child radio button无法检查子单选按钮
【发布时间】:2015-12-10 16:14:54
【问题描述】:

我在容器内设置了单选按钮,其类名为 answers,容器可能是 span 或 ol,即:

<ol class="answers"> <!-- radio buttons set here li per each button --></ol>

OR
<span class="a-panel answers"><!-- radio buttons set here --></span>

每个容器的所有无线电集都有唯一的属性name 值。

我无法使用以下代码获取选中的值:

$(".answers").each(function(){
alert($(this).children("input[type=radio]:checked").val())
})

它总是提醒未定义。这是Jsbin DEMO

【问题讨论】:

  • 1.您可以使用:radio 伪选择器代替[type=radio],并且2. 您正在使用children() 并且可能想要使用find()。 children() 看起来只有一层,因此不会在 li 的 ol.answers 元素下找到任何 input 标签
  • @swornabsent 是的,find 是选择。

标签: jquery jquery-selectors radio-button


【解决方案1】:

这是一个纯 JavaScript 解决方案。为您的所有收音机提供相同的名称和不同的 ID。然后用这个函数获取id:

function obtainSelectedRadioId(name) {
    var radios = document.getElementsByName(name);
    var res = '';
    for (var i = 0, length = radios.length; i < length; i++) 
        if (radios[i].checked) 
            res = radios[i].id;
    return res;
}

【讨论】:

  • 感谢您的解决方案,我为此 +1,但我无法将其签名作为答案,因为我使用的是 Jquery 解决方案。的确,swornabsent 8的评论也很有用。
  • 谢谢,我明白了。如果有人有您想要的解决方案,我可能最终还是会更改上述功能:)
猜你喜欢
  • 2017-06-05
  • 2020-07-14
  • 1970-01-01
  • 1970-01-01
  • 2019-11-28
  • 2019-01-17
  • 2019-05-29
  • 2014-05-14
  • 2019-01-15
相关资源
最近更新 更多