javascript - jQuery 在不同的单选按钮组中选择单选按钮索引

标签 javascript jquery

我正在使用 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。我不知道我哪里做错了以及该怎么做。

最佳答案

由于您没有使用不同的容器对单选按钮进行分组,因此 index() 在这种情况下将不起作用。您可以使用prevAll() 方法。更改单选按钮时,获取其名称,并选择具有此名称的所有先前单选按钮,然后获取它们的长度,如下所示。

$(document).on("change", "input[type='radio']", function() {
    var index = $(this).prevAll("[name=" + this.name + "]").length;
    alert(index);
})
<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

关于javascript - jQuery 在不同的单选按钮组中选择单选按钮索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41074896/

相关文章:

javascript - 错误 : Query. 失败:第一个参数必须是对象

jquery - ASP.NET MVC 3 - 我们可以通过 jQuery AJAX 调用使用模型绑定(bind)吗?

javascript - 如何使用 Javascript 将按钮 ID 更改为另一个 ID?

javascript - $.when 使用多个 fetch() 会破坏 Backbone 模型

javascript - 在 Reactjs 中测试窗口按键事件

javascript - jQuery .length 未将正确的类应用于 ACF Repeater 字段

jquery - 删除默认搜索框并在 jquery 数据表中添加自定义搜索框

javascript - 浏览器启动时的 Chrome 扩展操作

jquery:如何选择所有其他元素?

javascript - 禁用 Csrf 进行 ajax 查询