2014-08-28 99 views
0

我的HTML代码复选框过滤器:李元素

<ul id="filter"> 
<label><li><input type="checkbox" data="rady-a-tipy" id="checkbox">Rady a tipy</input></li></label> 
<label><li><input type="checkbox" data="osobni-rozvoj" id="checkbox">Osobní rozvoj</input></li></label> 
<label><li><input type="checkbox" data="rozhovory" id="checkbox">Rozhovory</input></li></label> 
</ul> 

然后,我有这样的代码,第一部分是限制复选框检查,从而使用户可以一次只检查一个“过滤器”。而第二部分是改变

背景颜色上点击以显示过滤器已经被“选择”。

// Checkbox limit 
$(function() { 
    $('input[type="checkbox"]').bind('click',function() { 
    $('input[type="checkbox"]').not(this).prop("checked", false); 
    }); 
}); 
// Background-color on parent change 
$("input[type='checkbox']").on('click', function(){ 
    $('#filter li').removeClass('bgc'); 
    $(this).parent().addClass('bgc'); 
}); 

的问题是..我要做一两件事,那就是,如果我再次点击高亮显示的过滤器(取消选中)我希望从它去掉了类BGC。现在,如果再次单击突出显示的过滤器,则取消选中它,但背景保持在那里。

这是全部连接到其他脚本文件,检查是否检查任何复选框,并根据选中的“数据”值查询帖子。一切正常,我只需要一件小事。

回答

0

用途:

$("input[type='checkbox']").on('click', function(){ 
    $('#filter li').not($(this).parent()).removeClass('bgc'); 
    $(this).parent().toggleClass('bgc'); 
}); 
+0

哇哦,这是超级快谢谢!我不敢相信这不会出现在我的脑海里_ _ <非常感谢。我会在10分钟限制通过后将您的答案标记为接受的答案。再次感谢! – 2014-08-28 11:23:24

+0

@JanDočekal:很高兴帮助:) – 2014-08-28 11:23:47