如何使用javascript获取无序列表中的单选按钮的Selected索引和值

问题描述 投票:0回答:2

我有一个无序列表,有一个单选按钮。我想获取已选中单选按钮的ID。

这是HTML:

<ul class="class1">
 <li>
  <label id="id1">
   <input id="id1A" type="radio" value="2" name="name1" onchange="say(); return false;">
   <span class="className1">Some Text1</span>
  </label>
 </li>
 <li>
  <label id="id2">
   <input id="id2A" type="radio" value="1" name="name1" onchange="say(); return false;">
   <span class="className1">Some Text2</span>
  </label>
 </li>
</ul>

<ul class="class2">
 <li>
  <label id="id21">
   <input id="id21A" type="radio" value="2" name="name2" onchange="say(); return false;">
   <span class="className21">Some Text21</span>
  </label>
 </li>
 <li>
  <label id="id2">
   <input id="id22A" type="radio" value="1" name="name2" onchange="say(); return false;">
   <span class="className21">Some Text22</span>
  </label>
 </li>
</ul>

这是Javascript:

<script type="text/javascript">
function say() {
    var firstChild = document.getElementsByClassName('class1');
        firstChild = Array.prototype.slice.call(firstChild);
        for(var j =0; j < parent.length; j++){  
            var firstChildElem = firstChild;
            for (var x = 0; x < secondChild.length; x ++) {
                if (secondChild[x].checked) {
                    alert("You checked " + secondChild[w]);             
                }
            }
        }
</script>

但是这个脚本不起作用。

javascript select radio-button
2个回答
0
投票

我建议使用jQuery来做这种事情。 jQuery的解决方案就像这样简单:

$("input:radio[name=name1]:checked").val();

name1将被替换为name2。不知道你对SelectedIndex的意思。下拉列表已选择索引,但是是否检查了无线电按钮...


-1
投票

最简单的方法: 1.将onchange="say();改为onchange="say('CURRID'); 2.新Javascript:

<script type="text/javascript">
function say(currID){
alert("You checked: " + currID);
}
</script>

然后,如果你不再需要id="id1A"标签的input部分,你可以删除这些部分。

© www.soinside.com 2019 - 2024. All rights reserved.