当前位置 : 主页 > 网页制作 > JQuery >

jquery – 如果选中复选框,则更改tr类

来源:互联网 收集:自由互联 发布时间:2021-06-15
我有一个包含以下行的表: tr tdinput type="checkbox" //td tda href="#"School/a/td tda href="#"DD1 1AB/a/td td80.10/td td200/td tdspan class="active"Active/span/td tda href="#"John Doe/abr/00000 000000/td/tr 我想要做的是当用
我有一个包含以下行的表:

<tr>
    <td><input type="checkbox" /></td>
    <td><a href="#">School</a></td>
    <td><a href="#">DD1 1AB</a></td>
    <td>80.10</td>
    <td>200</td>
    <td><span class="active">Active</span></td>
    <td><a href="#">John Doe</a><br/>00000 000000</td>
</tr>

我想要做的是当用户选择了复选框时更改了父< tr>的类.说选择,以便用户知道他们选择了哪一行.注意:他们可以打开和关闭这些!

假设某些复选框可以预先检查,我会采用这种方法:

// First add class for pre-checked entries
$(".xyz input[type=checkbox]:checked").each(function() {
    $(this).closest("tr").addClass("selected");
});

// Then toggle class whenever checkbox state changes
$(".xyz input[type=checkbox]").live("change", function() {
    $(this).closest("tr").toggleClass("selected");
});

现场演示:http://jsfiddle.net/cUxmG/

为了减少两次搜索DOM的开销,可以将其组合到:

$(".xyz input[type=checkbox]").live("change", function() {
    $(this).closest("tr").toggleClass("selected");
}).filter(":checked").each(function() {
    $(this).closest("tr").addClass("selected");
});

它做同样的事情:http://jsfiddle.net/cUxmG/2/

网友评论