Javascript jquery获取所选复选框的索引

Javascript jquery获取所选复选框的索引,javascript,jquery,Javascript,Jquery,我有一些类似这样的HTML: <div id="Myclass"> <div class="Wrapper"> <input type="checkbox" class="SomeCheckboxClass"> <input type="checkbox" class="SomeCheckboxClass"> <input type="checkbox" class="SomeCheckboxClass">

我有一些类似这样的HTML:

<div id="Myclass">

 <div class="Wrapper">
    <input type="checkbox" class="SomeCheckboxClass">
    <input type="checkbox" class="SomeCheckboxClass">
    <input type="checkbox" class="SomeCheckboxClass">
 </div>

 <div class="Wrapper">
    <input type="checkbox" class="SomeCheckboxClass">
    <input type="checkbox" class="SomeCheckboxClass">
    <input type="checkbox" class="SomeCheckboxClass">
 </div>

</div>
有更好的方法吗

谢谢

$('#Myclass .Wrapper').each(function() {
    var Index = $('.SomeCheckboxClass:checked', this).index();
    SomeFunction(Index);
});

您还可以使用
map()

您还可以使用
map()

为什么不这样做:

$('.checkbox').click(function() {
    if($(this).attr('checked')) {
        SomeFunction($(this).index());
    }
});
为什么不这样做:

$('.checkbox').click(function() {
    if($(this).attr('checked')) {
        SomeFunction($(this).index());
    }
});

您可以使用
.map


您可以使用
.map


如果选中了多个复选框怎么办?
[checked]
属性不是是否选中复选框的指示器。@jamesalardice:只选中一个复选框;我有另一个函数可以确保这一点。@frenchie,如果只能选择一个,为什么要使用复选框?您应该使用单选按钮。@zzbov:因为我想能够全部取消选中它们。对于单选按钮,一旦选择一个,就无法恢复到“未选中”状态。如果选中了多个复选框怎么办?
[checked]
属性不是复选框是否选中的指示器。@jamesalardice:仅选中一个复选框;我有另一个函数可以确保这一点。@frenchie,如果只能选择一个,为什么要使用复选框?您应该使用单选按钮。@zzbov:因为我想能够全部取消选中它们。对于单选按钮,一旦您选择一个,您就无法恢复到“未选择”状态。请您再解释一下,为什么在该功能中使用“严格使用”呢?我知道这超出了问题的范围,但我不能理解它。@Chango:Basicaly,没有它,它永远是一个对象,而不是一个原始值。例如,2会自动变成新的数字(2)。请您再解释一下,为什么在该函数中使用“use strict”?我知道这超出了问题的范围,但我不能理解它。@Chango:Basicaly,没有它,它永远是一个对象,而不是一个原始值。例如,2自动成为新的数字(2)。
$('.checkbox').click(function() {
    if($(this).attr('checked')) {
        SomeFunction($(this).index());
    }
});
$("#Myclass .Wrapper :checkbox:checked").map(function() {
  return $(this).index();  // index in parent
}).each(function() {
  "use strict";  // no object for `this` but just the primitive value
  SomeFunction(this);
});