(function($){ function initPresetCards(){ var $cards = $('.bongoto-preset-card'); if(!$cards.length) return; function sync(){ $cards.removeClass('selected'); $cards.each(function(){ var $c = $(this); var $r = $c.find('input[type=radio]'); if($r.prop('checked')) $c.addClass('selected'); }); } $cards.on('click', function(e){ // Clicking anywhere on card selects. var $r = $(this).find('input[type=radio]'); if($r.length){ $r.prop('checked', true).trigger('change'); } sync(); }); $cards.find('input[type=radio]').on('change', sync); sync(); } $(function(){ initPresetCards(); }); })(jQuery);