我想迭代复选框div并确定是否选中checkbox1,checkbox2,checkbox3
// 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>
答案 0 :(得分:4)
使用此功能。
$(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;
});
答案 1 :(得分:3)
使用:checked
选择器。
http://api.jquery.com/checked-selector/
编辑:
对于这样的例子,我会尝试 http://jsfiddle.net/ ...帮助很多!
答案 2 :(得分:3)
您正在考虑包含复选框的divs
,因此您需要find
您的复选框。
(您还应该缓存$(this)
以避免多次调用):
$("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;
三个复选框行将返回一个布尔值,表示检查当前div中的复选框。