Les boutons radio et .attr ('checked', 'checked') ne fonctionnent pas dans IE7
Est-il possible d'obtenir des boutons radio vérifié lors de l'ajout dans IE7?
Ce qui semble fonctionner dans tous les navigateurs, ne regarde pas comme il travaille dans IE6,7 en dépit de lire partout que je le fais correctement. Je n'ai absolument aucune idée de pourquoi ça ne fonctionne pas.
var $itemVariantRowRadio = $("<input/>")
.attr("type", "radio")
.attr("name", "itemvariant")
.addClass("itemvariant")
.val('whatever');
$itemVariantRowRadio.attr('checked', 'checked');
$itemVariantRow.append($itemVariantRowRadio)
Maintenant si je fais un console.log($itemVariantRowRadio.attr('checked')
dans IE6/7 puis il dit qu'il est défini à TRUE, mais la radio n'est pas vérifié ou ramasser les bagages.
Cauchemar! Quelqu'un d'autre venir à travers ce et toute sorte de correctif?
source d'informationauteur Dominic Watson
Vous devez vous connecter pour publier un commentaire.
Si en jQuery >= 1.6:
Utilisation
prop
comme on le voit ici: .prop() vs .attr()Si en jQuery < 1.6:
AUSSI:
Essayez de créer votre élément comme suit:
Voir violon: http://jsfiddle.net/maniator/6CDf3/
Un exemple avec 2 entrées ajouté: http://jsfiddle.net/maniator/6CDf3/2/
Essayer:
$itemVariantRowRadio.not(':checked').click().change();
Si vous cliquez sur la case à cocher tout comme vous le feriez en tant qu'utilisateur avec la souris.
not(':checked')
obtiendrez-vous sûr que ce n'était pas déjà vérifié avant. Et de déclencher l'événement de changement par la suite, comme jQuery cliquez sur ne pas le faire par lui-même.MSIE ne vous permet pas de changer la
type
d'uninput
élément une fois qu'il a été créé.Voir http://bugs.jquery.com/ticket/1536 et http://api.jquery.com/jQuery/#jQuery2
Créez-le donc:
Vous n'avez pas besoin de déclencher l'événement click si vous appliquez l'attribut checked après que vous l'ajouter à la dom: http://jsfiddle.net/XjHUe/2/