我是Jquery的新手,我正试图弄清楚脚本的问题。 该脚本检查并取消选中表中的复选框。它还删除了TD上的类:product_select。
我的问题;标准它选择表格中的第一个复选框。选中该复选框,td具有“product_select”类。一切都很好,但当我单击此复选框以取消选中它时,TD上的类'product_select'不会被删除。它会成功取消选中复选框,但会一直显示“product_select”类。当表有一个记录/ td /复选框时,会发生这种情况。
是否有人想通过已选中/选中的复选框从TD中删除“product_select”类?
希望我显而易见。提前谢谢。
$(document).ready(function() {
$("#emp_grid td").click(function(e) {
$("#emp_grid td").removeClass("product_select");
var $checkbox = $(this).find(':checkbox');
$("#emp_grid :checkbox").not($checkbox).removeAttr("checked");
if (e.target.type == "checkbox") {
// stop the bubbling to prevent firing the row's click event
e.stopPropagation();
$(this).filter(':has(:checkbox)').toggleClass('product_select', $checkbox.attr('checked'));
} else {
$checkbox.attr('checked', !$checkbox.attr('checked'));
$(this).filter(':has(:checkbox)').toggleClass('product_select', $checkbox.attr('checked'));
}
});
});
选中复选框时的HTML代码:
<td class="product_select" colspan="3">
<input name="oplageservice" checked="checked" value="101_6" style="display:none;" type="checkbox"> € 0,01
</td>
当我取消选中复选框时,HTML代码:
<td class="product_select" colspan="3">
<input name="oplageservice" value="101_6" style="display:none;" type="checkbox"> € 0,01
</td>
(类'product_select'未删除)
答案 0 :(得分:1)
你可以发布表格的html吗?
编辑:
尝试一下
$("#emp_grid td").click(function() {
$(this).toggleClass("product_select");
if ($(this).hasClass("product_select")) {
$(this).find("input[type=checkbox]").attr("checked","checked");
}else{
$(this).find("input[type=checkbox]").removeAttr("checked");
}
});