$(this).find('.checkbox')[i].checked为什么不能选取第二个被勾选的复选框,在第一个复选框没有被选中的情况下。我的要求是要出现i,比如说第i个复选框,要求获取选中的第i个复选框的值
时间: 2024-03-26 17:39:32 浏览: 31
$(this).find('.checkbox')[i].checked 只能选取第i个复选框的选中状态,而不能获取选中的第i个复选框的值。要获取选中的第i个复选框的值,可以使用以下代码:
```
$(this).find('.checkbox:checked').eq(i).val();
```
这里的 .checkbox:checked 选中所有被选中的复选框,然后使用 .eq(i) 选取第i个被选中的复选框,最后使用 .val() 获取该复选框的值。
相关问题
$(this).find('.checkbox')[i].checked为什么不能选取第二个被勾选的复选框,在第一个复选框没有被选中的情况下
$(this).find('.checkbox')[i].checked 只是获取了第 i 个复选框的 checked 属性值,但是它并没有判断复选框是否被选中。要判断复选框是否被选中,需要使用 $(this).find('.checkbox')[i].is(':checked') 来获取该复选框的选中状态。如果要选择第二个被勾选的复选框,可以使用以下代码:
```
$(this).find('.checkbox').each(function(){
if($(this).is(':checked')){
// 处理已选中的复选框
}
});
```
这段代码会遍历所有的复选框,找到被选中的复选框并进行处理。
$(this).find('.checkbox')[i].checked不能获取第二个被选中的复选框,当第一个复选框没有被选中时。我想根据第i个选中的复选框,获取第i个span标签内的值
可以尝试使用以下代码获取第i个选中的复选框,并获取对应的span标签内的值:
```
var checkboxes = $(this).find('.checkbox');
var spans = $(this).find('span');
var checkedIndex = -1;
for (var i = 0; i < checkboxes.length; i++) {
if (checkboxes[i].checked) {
checkedIndex++;
if (checkedIndex === i) {
var value = $(spans[i]).text();
// 处理获取到的值
break;
}
}
}
```
这段代码使用了一个变量`checkedIndex`来记录已经选中的复选框的数量,每次找到一个选中的复选框就将`checkedIndex`加1,如果`checkedIndex`等于当前遍历到的索引i,就说明当前这个复选框是第`checkedIndex+1`个被选中的复选框,此时就可以获取对应的span标签内的值。