如何从 jquery 中的每个函数获取单选按钮索引号

发布于 2024-09-18 23:02:22 字数 757 浏览 6 评论 0原文

当在jquery中使用each()函数来处理一组(比方说)3个单选按钮时,如何检索第三个按钮,以便在检查时发生一些事情? 基本上我如何从each()函数中选择我想要使用的元素?

这是我的编码:

HTML:

<form id="orderDefinition" name="orderDefinition">
  <fieldset>
    <input type="radio" name="radioGroup" /><label for="">radio 1</label>
    <input type="radio" name="radioGroup" /><label for="">radio 2</label>
    <input type="radio" name="radioGroup" /><label for="">radio 3</label>    
  </fieldset>
</form>

jQuery:

var radioBtnCollection = $("#orderDefinition input:radio");

$(radioBtnCollection).each(function(){
    // From here, I don't know how to get the element
});

提前致谢。

When using the each() function in jquery for a group of, let's say, 3 radio buttons, how do I retrieve the 3rd button so when it's checked something happens?
Basically how do I choose the element I want to work with from the each() function?

Here is my coding:

HTML:

<form id="orderDefinition" name="orderDefinition">
  <fieldset>
    <input type="radio" name="radioGroup" /><label for="">radio 1</label>
    <input type="radio" name="radioGroup" /><label for="">radio 2</label>
    <input type="radio" name="radioGroup" /><label for="">radio 3</label>    
  </fieldset>
</form>

jQuery:

var radioBtnCollection = $("#orderDefinition input:radio");

$(radioBtnCollection).each(function(){
    // From here, I don't know how to get the element
});

Thanks in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

国粹 2024-09-25 23:02:22

您可以使用 this 引用该元素运算符

radioBtnCollection.each(function(){
    alert(this.name);
});

或者通过使用提供给函数的参数:

radioBtnCollection.each(function(index, element){
    if (index == 2 && element.checked)
        alert("3rd element is checked!");
});

如果您想对元素执行任何 jQuery 方法,则需要用 jQuery 包装它。对于第一个示例,$(this),对于第二个示例 $(element)

您可以使用 :eq(2) 获取第三个单选按钮a>,而不是每个:

if ($("#orderDefinition input:radio:eq(2)")[0].checked)
    alert("3rd element is checked!");

You can refer to the element using the this operator:

radioBtnCollection.each(function(){
    alert(this.name);
});

Or by using the arguments supplied to the function:

radioBtnCollection.each(function(index, element){
    if (index == 2 && element.checked)
        alert("3rd element is checked!");
});

If you want to perform any jQuery methods on the element, you will need to wrap it with jQuery. For the first example, $(this), for the second example $(element).

You can just get the third radio button using :eq(2), instead of each:

if ($("#orderDefinition input:radio:eq(2)")[0].checked)
    alert("3rd element is checked!");
无可置疑 2024-09-25 23:02:22

使用 this 包装为 jQuery 对象:

$(radioBtnCollection).each(function(){
    // this points to the element being iterated
    $(this)
});

Use this wrapped as a jQuery object:

$(radioBtnCollection).each(function(){
    // this points to the element being iterated
    $(this)
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文