jquery-遍历复选框并确定是否选中
我想遍历复选框div并确定是否选中了复选框1、复选框2、复选框3jquery-遍历复选框并确定是否选中,jquery,checkbox,Jquery,Checkbox,我想遍历复选框div并确定是否选中了复选框1、复选框2、复选框3 // iterate over checkboxes $('#register_students').click(function() { $("div.checkboxes").each(function() { var student = $(this).attr('data'); var chec
// iterate over checkboxes
$('#register_students').click(function() {
$("div.checkboxes").each(function() {
var student = $(this).attr('data');
var checkbox1 = ???
var checkbox2 = ???
var checkbox3 = ???
});
return false;
});
<td>
<div class='checkboxes' data=8255>
<INPUT type="checkbox" value="36" class="checkbox1">
<INPUT type="checkbox" value="14" class="checkbox2">
</div>
</td>
<td>
<div class='checkboxes' data=8244>
<INPUT type="checkbox" value="36" class="checkbox1">
<INPUT type="checkbox" value="14" class="checkbox2">
<INPUT type="checkbox" value="14" class="checkbox3">
</div>
</td>
//遍历复选框
$(“#注册#U学生”)。单击(函数(){
$(“div.checkbox”)。每个(函数(){
var student=$(this.attr('data');
var checkbox1=???
var checkbox2=???
var checkbox3=???
});
返回false;
});
使用了:选中的选择器
编辑:
对于这样的例子,我会在上试一试。。。帮助很大 用这个
$(this).is(':checked')
返回true
或false
。像
$('#register_students').click(function() {
$("div.checkboxes").each(function(index1) {
var student = $(this).attr('data');
cb = [];
$('input[type=checkbox]',this).each(function(index2, Element){
cb[index2] = $(Element).is(':checked');
});
// use 'cb' and 'student' as you want. 3 checkbox value are as cb[0], cb[1], cb[2]
});
return false;
});
您正在对包含复选框的div进行交互,因此需要查找您的复选框
(您可能还应该缓存$(this)
,以避免多次调用):
三个复选框行将分别返回一个布尔值,指示当前div中复选框的选中位置。是否始终有3个复选框?在您的第一个html块中,只有2个。@GenericTypeTea:好问题@罗杰·罗孚:是否因为一个div中可能有数量可变的复选框,所以需要遍历这些复选框?可能是零个或多个复选框。(通常为3-25)我宁愿使用选择器,也不愿比较值。但这只是一个问题或偏好;-)$(此)
将引用div
本身,对吗?我们需要为div
@DLH中的复选框设置一个选择器,如我的回答中所述below@Wiseman:的确如此。既然你的修正了,我就投了更高的票@DLH:我打算给你指路,所以答案简短而甜蜜。阅读讨论后更新。谢谢你。我想你是说:选中了,而不是。选中了。哎呀!好地方。一次打字+2次复印/粘贴检查括号。。。var checkbox1=$(this.find('input.checkbox1')。是(':checked');
$("div.checkboxes").each(function() {
var $this = $(this);
var student = $this.attr('data');
var checkbox1 = $this.find('input.checkbox1').is(':checked');
var checkbox2 = $this.find('input.checkbox2').is(':checked');
var checkbox3 = $this.find('input.checkbox3').is(':checked');
});
return false;