这就是我得到的:
我希望完成的是当你开始突出显示td的红色时,我想自动选中右侧的复选框。
因此当tr中的theres> = 1 .highlightRed时,它应该自动选中复选框。如果它变为== 0,则应取消选中该复选框。
需要做的两件事是正确的if语句,因此它会计算当前父级中的.highlightRed,因此它会检查/取消选中< - 我不知道如何选中复选框,尝试过:
$(this).parent('tr').child('td').find('.removalbox').attr('checked');
答案 0 :(得分:1)
这应该做你想要的:
$(document).ready(function(){
$('td.editable').live('click', function(){
$(this).toggleClass('highlightRed');
if( $(this).parent('tr').find('.highlightRed').length >= 1 )
{
$(this).parent('tr').find('.removalbox').attr('checked','checked');
}else{
$(this).parent('tr').find('.removalbox').removeAttr('checked');
}
});
});
答案 1 :(得分:1)
你想要这样的东西吗? http://jsfiddle.net/HsVZR/15/
$(this).parent('tr').find(".removalbox").attr("checked", $(this).parent('tr').find('td.highlightRed').length >= 1);
此外,您不应该使用这么长的jQuery语句来查找页面上的元素。以块为单位为元素分配正确的类名或ID - 您始终可以像$('myblock-properclass')
一样简单地访问它们。
可以使用
轻松完成选中/取消选中复选框$('.removalbox').live('click', function()
{
this.checked == true ? $(this).parents('tr').find('td.editable').addClass('highlightRed') : $(this).parents('tr').find('td.editable').removeClass('highlightRed');
});
答案 2 :(得分:1)
尝试:
$(document).ready(function() {
$('td.editable').live('click', function() {
$(this).toggleClass('highlightRed');
$(this).parent('tr').find('.removalbox').attr('checked',$(this).parent().find('td.highlightRed').length >0);
});
});
顺便说一句,.live()已被弃用,转而使用.on()。
<强> jsFiddle example 强>