我有多组复选框,如下所示:
<input type="checkbox" class="correction_check" product_id="3" defect_col="Qty">
<input type="checkbox" class="correction_check" product_id="3" defect_col="Exp">
<input type="checkbox" class="correction_check" product_id="3" defect_col="Bat">
<input type="checkbox" class="correction_check" product_id="4" defect_col="Qty">
<input type="checkbox" class="correction_check" product_id="4" defect_col="Bat">
一组复选框由product_id
区分。
我可以这样做吗?
$('.correction_check').click(function(){
//check if all other check boxes having same product_id as $(this) are checked and do some action
});
答案 0 :(得分:1)
您可以测试是否选中了具有相同product_id
的所有其他复选框:
$('.correction_check').click(function(){
var otherAreChecked = $('.correction_check[product_id='+$(this).attr('product_id')+']')
.not(this).not(':checked').length===0;
// do action
});
想法是计算未检查的那个:这个计数应该是0。
请注意,如果您想知道是否选中了具有相同产品ID的所有复选框(而不仅仅是“其他”复选框),则只需从代码中删除.not(this)
答案 1 :(得分:0)
试试这个:
$(".correction_check").change(function(){
var id = $(this).attr("product_id");
$(".correction_check[product_id='"+id+"']:checked").each(function(){
//do action
});
});