Je ne parviens pas à vérifier les cases à cocher cachées dans IE. C’est le html de base:
Cela fonctionne bien, mais si je cache ensuite les cases à cocher en utilisant soit
$('input[type=checkbox]').hide();
ou
$('input[type=checkbox]').css('visibility', 'hidden');
Cliquer sur l’étiquette ne coche plus la case dans IE. Bien sûr, cela fonctionne très bien dans Firefox, Chrome et Safari.
Vous pouvez essayer d’append un onclick à l’étiquette pour résoudre les problèmes liés à IE.
$('label').click(function() { $('#' + $(this).attr('for')).click(); });
Si cela ne fonctionne pas, essayez de définir l’atsortingbut manuellement.
$('label').click(function() { var checkbox = $('#' + $(this).attr('for')); if (checkbox.is(':checked')) { checkbox.removeAttr('checked'); } else { checkbox.attr('checked', 'checked'); } });
Les cases à cocher masquées ne reçoivent pas les événements dans la version d’IE inférieure à 9. Ma solution généralisée est la suivante:
/* hide checkboxes */ input[type=checkbox] { visibility: hidden; position: absolute; /* move out of document flow */ } /* ie8-: hidden inputs don't receive events, move out of viewport */ .lt-ie9 input[type=checkbox] { visibility: visible; top: -50px; }
Ne déplacez pas les entrées à gauche ou la page sautera dans IE lorsque l’entrée reçoit le focus! .lt-ie8
est une classe définie de la manière suivante sur la balise HTML pour les anciennes versions d’IE: (voir par exemple: https://github.com/h5bp/html5-boilerplate/blob/master/index.html )