我正在使用jQuery append()函数创建以不同名称分组的多组单选按钮。
每个组都有多个单选按钮,并且具有不同的组名。现在的问题是我希望能够使用jQuery找到特定组的所选单选按钮的索引。不知道该怎么做
<input type='radio' name='group1' value='g1v1'>
<input type='radio' name='group1' value='g1v2'>
<input type='radio' name='group2' value='g2v1'>
<input type='radio' name='group2' value='g2v2'>
现在选择带有
的jQuery的group1的已检查单选按钮$("input[type='radio'][name='group1']:checked").index();
总是给我0。我不确定我做错了什么以及做什么。
答案 0 :(得分:1)
由于您没有使用不同的容器对单选按钮进行分组,因此index()
在这种情况下不起作用。您可以使用 prevAll()
方法。更改单选按钮后,获取name
,然后使用此name
选择所有上一个单选按钮,然后获取其中的length
,如下所示。
$(document).on("change", "input[type='radio']", function() {
var index = $(this).prevAll("[name=" + this.name + "]").length;
alert(index);
})
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type='radio' name='group1' value='g1v1'>G1 0
<input type='radio' name='group1' value='g1v2'>G1 1
<input type='radio' name='group1' value='g1v3'>G1 2
<input type='radio' name='group2' value='g2v1'>G2 0
<input type='radio' name='group2' value='g2v2'>G2 1
<input type='radio' name='group2' value='g2v3'>G2 2
&#13;