2010-08-25 14 views
0

J'ai ce code jQuery, qui utilise la fonction toggle() sur une case à cocher (via ID #rescheck), pour révéler un div caché sur click/tick de la case - tout fonctionne parfaitement, sauf que le "tick" ou "check" ne figure pas dans la boîte, sur Chrome.Case à cocher ne pas vérifier lorsqu'elle est utilisée dans jQuery toggle()

Dans Firefox c'est le contraire, le contrôle ou la coche est toujours présent à partir du chargement de la page, que la division cachée soit visible ou non.

$("#rescheck").toggle(function(){ 
     $("#reservationfields").stop().animate({ down: "+=300" }, 8000)  
     $("#reservationfields").stop().slideDown("slow");  
    }, function(){ 
     $("#reservationfields").stop().animate({ down: "-=300" }, 8000)  
     $("#reservationfields").stop().slideUp("slow"); 
    }); 

Après avoir vérifié une autre question sur ce site (réponse 14) Je puis modifié mon code pour:

$('#rescheck').change(function() { 
    if ($(this).attr("checked")) { 
     $("#reservationfields").stop().animate({ down: "+=300" }, 8000)  
     $("#reservationfields").stop().slideDown("slow"); 
    } else { 
     $("#reservationfields").stop().animate({ down: "-=300" }, 8000)  
     $("#reservationfields").stop().slideUp("slow"); 
    } 
}); 

Cela fonctionne à merveille dans FF et Chrome, mais Internet Explorer tout simplement pas 'vérifier' et ne révélera pas le div caché en conséquence.

J'ai vraiment besoin de cela pour travailler cross-navigateur, quelqu'un peut-il faire la lumière? :(

Merci

+0

Vous pouvez avoir de préciser ce que le plus ancien IE vous soutiendrez est. IE 6 et le soutien plus tôt est notoirement difficile. –

Répondre

3

Bind à click à la place. Il devrait travail.

+0

Peut-être aussi envie de vérifier cette autre question, qui est très similaire: http://stackoverflow.com/questions/368807/jquery-show-hide-problem-in-internet-explorer – krx