选中复选框后更改标签
我有很多带有复选框的列表,如下所示:
每个复选框都有一个唯一的ID
我想在检查标签时切换标签的背景颜色。
这是我得到的,但它不起作用:
jQuery的:
$(".filteritem").click(function(){ $(this).toggleClass('highlight'); });
CSS:
.highlight { //change something }
HTML:
JavaScript的:
$( '.checkboxlist' ).on( 'click', 'input:checkbox', function () { $( this ).parent().toggleClass( 'highlight', this.checked ); });
现场演示: http : //jsfiddle.net/MGVHX/1/
请注意,我使用事件委托 ,而不是将相同的处理程序绑定到每个复选框。
您当前正在尝试在input
元素上调用toggleClass
,而不是label
。 您可以使用parent
来获取label
:
$(".filteritem").click(function(){ $(this).parent().toggleClass('highlight'); });
$(".filteritem").on('change', function(){ $(this).closest('label').toggleClass('highlight'); });
小提琴