我有一个复选框看起来像这样的表:
<td class="table-col" >
<div class="group-one" >
<input type="checkbox" />
</div>
</td>
当复选框被选中以应用“选择”类“表山坳”我想要做的是。
if ($('.table-col').find(':checked')) {
$(this).parent().parent().addClass('selected');
}
我看了很多帖子有像上面类似的解决方案,但它似乎并没有为我工作。 我不知道为什么,但这个是指向不HTMLDocument的元素。
(编辑),在这个页面上会有标记复选框,那些想“选择”申请。 在评论@cimmanon提到的事件处理。 我需要看这件事。 感谢您的答案呢!
(编辑)
<td class="table-col">
<div class="group-one">
<input type="checkbox" checked="checked"/>
</div>
</td>
所以pageloads后会有标记的盒子(我认为他们将始终包含检查=“检查” -不知道)复选框。 这些都是需要一个新的风格的人。 没有必要对他们点击和应用的风格,但非常酷仍然之间的相互作用。
试试这个...
$(":checkbox").on('click', function(){
$(this).parent().toggleClass("checked");
});
例
问候。
您可以使用.change()
绑定到change
事件; 然后,使用.closest()
和.toggleClass()
添加或删除的selected
从祖父母元件类名。
$("input:checkbox").change(function(){
$(this).closest(".table-col").toggleClass('selected', this.checked);
});
看到它在这里。
给你的复选框名称,以便jQuery的可以钩到它:
$('input[name=foo]').is(':checked')
$(这)将仅涉及您的复选框(以便你可以去到它的祖父母,按您的代码),当你有它分配给checkbox元素@cimmanon暗示调用的事件处理程序是。
所以,如果你分配.change()处理程序到你的复选框,$(这)将参考您的复选框。 实际上,你可以做到这一点的一条线,因为你可能需要打开或关闭的“选择”类:
$(":checkbox").change(function () {
$(this).parent().parent().toggleClass('selected');
});
否则,$(这)是指如果你是在响应执行这个代码按钮单击处理程序引发事件,例如控制,$(这)将引用按钮。