2014-08-28 103 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