Javascript jquery获取所选复选框的索引
我有一些类似这样的HTML: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">
<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);
});