javascript - How do I uncheck a jquery checkbox and have the remaining checkbox'd results still available? -


as can see in link, when uncheck "all games", of results go hidden, though there still checkboxes checked necessary list result shown.

i trying avoid removing results when uncheck games checkbox.

demo here

the html:

<div id="left-col">     <h1>options</h1>      <div>         <input name="action-areas[]" id="areas_all" value="4" class="type_check" type="checkbox">         <label for="areas_all">all games</label>     </div>     <div>         <input name="action-areas[]" id="areas_2d" value="0" class="type_check" type="checkbox">         <label for="areas_2d">2d</label>     </div>     <div>         <input name="action-areas[]" id="areas_3d" value="1" class="type_check" type="checkbox">         <label for="areas_3d">3d</label>     </div>     <div>         <input name="action-areas[]" id="areas_mobile" value="2" class="type_check" type="checkbox">         <label for="areas_mobile">mobile</label>     </div>     <div>         <input name="action-areas[]" id="areas_multiplayer" value="3" class="type_check" type="checkbox">         <label for="areas_multiplayer">multiplayer</label>     </div> </div>    <div id="right-col"> <h1>list items</h1>     <ul id="case-studies">         <li  class="type_hidden areas_all areas_2d">super mario bros.</li>         <li  class="type_hidden areas_all areas_3d">starfox</li>         <li  class="type_hidden areas_all areas_2d areas_mobile">angry birds</li>         <li  class="type_hidden areas_all areas_multiplayer areas_3d">de_dust</li>         <li  class="type_hidden areas_all areas_2d">limbo</li>         <li  class="type_hidden areas_all areas_2d areas_3d areas_mobile">doom</li>      </ul> </div> 

the javascript:

    $(document).ready(function(){     $("input.type_check").attr("checked", "true").click(function() {         if($(this).is(':checked')) {             $("#case-studies li."+$(this).attr('id')).removeclass('type_hidden');             $("#case-studies li").not(".type_hidden, .start_hidden").slidedown();         } else {             $("#case-studies li."+$(this).attr('id')).addclass('type_hidden');             $("#case-studies li."+$(this).attr('id')).slideup();         }     });      $("input.start_check").attr("checked", "").click(function(){         if($(this).is(':checked')) {             $("#case-studies li."+$(this).attr('id')).removeclass('start_hidden');             $("#case-studies li").not(".type_hidden, .start_hidden").slidedown();         } else {             $("#case-studies li."+$(this).attr('id')).addclass('start_hidden');             $("#case-studies li."+$(this).attr('id')).slideup();         }     }); }); 

try

$(document).ready(function(){      var parts = $("input.type_check:not(#areas_all)");      parts.click(function() {         if($(this).is(':checked')) {             $("#case-studies li." + this.id).removeclass('type_hidden').slidedown();         } else {             var cls = parts.filter(':checked').map(function(){                 return '.' + this.id;             }).get();             $("#case-studies li").not(cls.join(',')).addclass('type_hidden').slideup();;         }     });      $('#areas_all').click(function(){         parts.prop('checked', this.checked).each(function(){             $(this).triggerhandler('click')         })     }).prop('checked', true).triggerhandler('click')  }); 

demo: fiddle


Comments

Popular posts from this blog

linux - xterm copying to CLIPBOARD using copy-selection causes automatic updating of CLIPBOARD upon mouse selection -

c++ - qgraphicsview horizontal scrolling always has a vertical delta -