IE ne détectant pas la méthode de changement jquery pour checkbox
Le code ci-dessous fonctionne dans FF, Safari, Chrome. Mais IE me donne des problèmes.
Lorsqu'une case est cochée, je ne peux pas obtenir IE à détecter.
$("#checkbox_ID").change(function(){
if($('#'+$(this).attr("id")).is(':checked'))
{
var value = "1";
}
else
{
var value = "0";
}
alert(value);
return false;
});
Simplement, je ne suis pas une alerte pop-up, comme prévu.
J'ai même essayé de cette façon:
$("#checkbox_ID").change(function(){
if( $('#'+$(this).attr("id")'+:checked').attr('checked',false))
{
var value = "1";
}
else
{
var value = "0";
}
alert(value);
return false;
});
Voici la simple case d'entrée: <input class="prod" type="checkbox" name="checkbox_ID" id="checkbox_ID" value="1"/>
Ce que quelqu'un sait si IE requiert une autre méthode jquery? ou est-ce mon code juste à côté?
source d'informationauteur coffeemonitor
Vous devez vous connecter pour publier un commentaire.
Comme l'a noté sblom avec IE7 et en dessous vous avez besoin de l'élément de flou pour que cette action du feu, plus tard, des versions de IE et les autres navigateurs n'ont pas besoin de l'élément explicitement perdre le focus, il suffit de changer faut tirer de cet événement (comme indiqué dans mon exemple ci-dessous).
Je crois que votre problème pourrait être que vous essayez d'accéder à la valeur de la variable quand il est hors de portée.
Voici un aperçu de travailnotez que parce que vous retourne la valeur false à la fin de la fonction, il réinitialise la case à cocher à sa valeur précédente, comme vous l'avez annulé l'effet du clic.
Il va probablement travailler si vous cliquez sur un autre lorsque vous cliquez sur la case à cocher. IE est bizarre comme ça.
Pouvez essayer quelque chose comme:
Plus d'infos ici: http://norman.walsh.name/2009/03/24/jQueryIE
Le changement événement ne se déclenche lorsque la valeur est modifiée après le contrôle perd le focus. Pour une case à cocher, il est préférable de brancher jusqu'à l'événement click.
Voici la documentation sur lorsque l'événement onchange feux: texte du lien
Vous devez utiliser le
propertychange
de l'événement au lieu de lechange
événement. Gardez à l'esprit que lapropertychange
événement se déclenche sur d'autres choses que cochée/décochée. Pour compenser cela, vous devez vérifier lawindow.event.propertyName
(pour IE uniquement):essayez d'utiliser
au lieu de l'événement "change"