这样可行,但前提是您选择了表格单元格,而不是复选框。想法?
$(document).ready(function () {
$('input:checkbox').removeAttr('checked');
$('td.input-check-cell').click(function (e) {
var chk = $(this).closest('tr').find('input:checkbox').get(0);
if (e.target != chk) {
chk.checked = !chk.checked;
$(this).closest('tr').toggleClass('selected');
} else {
$(this).closest('tr').removeClass('selected');
}
});
});
我创造了一个小提琴: http://jsfiddle.net/x4AxV/17/
答案 0 :(得分:0)
您必须将所有代码移动到文档就绪事件处理程序中:
$(document).ready(function () {
$('.messages-btn-o').hide();
$('input:checkbox').removeAttr('checked');
$('input:checkbox').change(function (e) {
if ($('input[type=checkbox]:checked').length > 0) {
$('.messages-btn-o').show();
} else {
$('.messages-btn-o').hide();
}
});
$('td.checkbox').click(function (e) {
var chk = $(this).closest('tr').find('input:checkbox').get(0);
if (e.target != chk) {
chk.checked = !chk.checked;
}
});
});
答案 1 :(得分:0)
有效。想法?
$('td.checkbox').has('input:checkbox').click(function (event) {
if (event.target === this) {
var $checkbox = $(this).children('input:checkbox');
$checkbox.attr('checked', !$checkbox.attr('checked'));
}
if ($('input[type=checkbox]:checked').length > 0) {
$('.messages-btn-o').show();
$(this).closest('tr').toggleClass('selected');
} else {
$('.messages-btn-o').hide();
$(this).closest('tr').removeClass('selected');
}
});
答案 2 :(得分:0)
这有效......
$(document).ready(function () {
$('input:checkbox').removeAttr('checked');
$('td.input-check-cell').click(function (e) {
var checkbox = $(this).closest('tr').find('input:checkbox').get(0);
if (e.target != checkbox) {
checkbox.checked = !checkbox.checked;
}
if ($('input[type=checkbox]:checked').length > 0) {
$(this).closest('tr').toggleClass('selected');
} else {
$(this).closest('tr').removeClass('selected');
}
});
});
答案 3 :(得分:0)
这将检查单击的单元格中的复选框...
$('#table-id td.input-check-cell').click(function (e) {
var checkbox = $($(this).find('input:checkbox').get(0));
checkbox.prop("checked", !checkbox.prop("checked"));
});