Jquery行通过php中的tr动态foreach表使用复选框


Jquery line through tr in php dynamic foreach table using checkbox

当复选框被选中时,我正试图通过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行。