当复选框被选中时,我正试图通过tr。如果我知道给定行的id,但我的表是由PHP foreach循环生成的,那么我可以这样做。以下代码有效,但所有行都有一行通过每个td。我只想要选中复选框的行。
<script>
$('input.complete').on('click', function(e) {
if (this.checked) {
$("td").addClass('newclass');
} else {
$("td").removeClass('newclass');
}
});
</script>
该表由以下PHP foreach循环生成:
<?php foreach ($tasks as $task):?>
<tr>
<td><?php echo $task->id;?></td>
<td rowid="<?php echo $task->id;?>"><?php echo $task->task_name;?></td>
<td><?php echo $task->task_desc;?></td>
<td><input class="complete" type="checkbox" name="complete" value="CheckBox"></td>
</tr>
<?php endforeach;?>
css很简单:
.newclass {
text-decoration: line-through;
}
我曾尝试使用父和子选择器来隔离行,但似乎无法解决问题。如何只获得选中的行?
$(this).parent().siblings("td").addClass("newclass");
将是在相应行中仅指定CCD_ 1的方式。
您还需要更改removeClass行。