我有一个无序列表,有一个单选按钮。我想获取已选中单选按钮的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>
但是这个脚本不起作用。
我建议使用jQuery来做这种事情。 jQuery的解决方案就像这样简单:
$("input:radio[name=name1]:checked").val();
name1
将被替换为name2
。不知道你对SelectedIndex
的意思。下拉列表已选择索引,但是是否检查了无线电按钮...
最简单的方法:
1.将onchange="say();
改为onchange="say('CURRID');
2.新Javascript:
<script type="text/javascript">
function say(currID){
alert("You checked: " + currID);
}
</script>
然后,如果你不再需要id="id1A"
标签的input
部分,你可以删除这些部分。