7
votes

Voir si les radiobutons ou les cases à cocher sont vérifiés dans IE8

J'utilise une jolie méthode CSS-Seule unique que j'ai trouvée sur ces planches à utiliser des cases à cocher et des radiobuttons de ma propre conception dans une application en ligne que je développe.

Ce que je fais est de cacher les radios et les chèques et montrez mes graphiques comme fond dans l'étiquette, comme: p> xxx pré>

évidemment j'utilise quelque chose de similaire pour les cases à cocher. Fonctionne comme un charme, mais malheureusement pas dans l'IE8 qui ne peut pas faire face à l'attribut: coché. P>

J'essaie de résoudre ce problème avec jQuery en ayant vérifié si un Radiobutton est vérifié, puis ajoutez une classe "vérifiée" et attribuer le même CSS à cela. P>

input[type="radio"]:checked + label,
.checked input[type - "radio"] + label {
background-position: -30px 0;
}


8 commentaires

Alors, vérifiez-vous dans un gestionnaire de clic ou quoi?


Peut être $ ('entrée [type = "radio"], entrée [TYPE = "Cochez la case"]') Sélecteur CSS3 ne fonctionnera pas dans IE 8


Est-ce que $ ('# ci-dessus'). PROP ("coché") retourne vrai ou faux?


BTW, quelle version JQuery utilisez-vous?


Pour voir si vous faites quelque chose de mal: est-ce que Cette démonstration sur le site de jQuery travaille?


Ça me rend fou. @Roastted - C'est une fonction qui est tirée sur Pageload et dans un gestionnaire de clic. J'utilisais 1.10.1 et j'ai maintenant rétrogradé à 1.8.2 avec les mêmes résultats. Dans d'autres nouvelles, j'ai complètement réécrit ma fonction pour cibler spécifiquement les radio de la radio et des cases à cocher, car j'ai réalisé que la fonctionnalité devrait être vraiment différente. J'es que je omette la chose: une chose vérifiée entièrement pour Radiobuttons et découvrez F & ^% Ing AddClass ne fonctionne pas dans IE8.


Est-ce juste une faute de frappe dans votre mise à jour 08-07 10:00 ou devez-vous utiliser un signe égal au lieu d'un trait d'union dans votre deuxième sélecteur pour type = "radio"? Entrée précédente [Type - "Radio"] + étiquette


@Fakehaak Bonjour, j'ai le même problème avec l'affichage: aucun que je me demandais s'il y a un moyen de cacher cette case à cocher laide dans IE8


3 Réponses :


3
votes

Le problème est que IE8 et ci-dessous ne prend pas en charge les classes pseudoques CSS. Vous pouvez contourner cela en utilisant une bibliothèque JavaScript. Je l'utilise sur la plupart de mes sites et ça marche des merveilles. C'est ce qu'on appelle selectivizr et il vous permettra d'utiliser une tonne de classes de pseudoques CSS3 dans des versions plus anciennes de IE. Il existe une liste de pseudo classes qu'il prend en charge sur la page d'accueil. Il est également disponible dans plusieurs bibliothèques, ce qui est génial!


1 commentaires

IE8 a support partiel pour pseudo cours.



0
votes

Changez votre style CSS comme suit pour IE 8

input[type="radio"][checked] + label
{
background-position: -30px 0;
}


1 commentaires

Cela ne fonctionnera pas. Les navigateurs ne mettent pas à jour l'attribut vérifié lorsque vous cliquez sur une case à cocher / Radiobutton.



0
votes

Si vous ne pouvez pas ajouter les classes pour IE8, rendez simplement la CSS change directement dans jQuery, par exemple: xxx


0 commentaires