2011-10-27 4 views
2

Salut J'ai un script jquery qui permet de cliquer sur des cellules entières de deux tables, et quand on clique dessus, elles changent leur couleur de fond. Vous pouvez ensuite cliquer sur un bouton de formulaire et les cellules sélectionnées sont traitées dans une base de données.Le script Jquery fonctionne sous firefox mais pas IE 8

Le script fonctionne dans Firefox et sur le navigateur iPad.

Il ne fonctionne pas dans IE 8 bien (qui fait partie de l'entreprise publique ne peut donc pas être changé pour le moment)

Le script jquery est

$(document).ready(function() { 
//assigning alternative row style 
$(".pretty tr:even").addClass("evenrow"); 
$(".pretty tr:odd").addClass("oddrow"); 

$(".my_table tr").find(':checkbox').prepend('<img id="tableSquare" src="images/square.png" />'); 


$(".pretty tr:even").click(function() { 
    $(this).find(':checkbox').attr('checked', !$(this).find(':checkbox').attr('checked')); 
    if ($(this).find(':checkbox').attr('checked')) { 
     $(this).removeClass('evenrow'); 
     $(this).addClass('highlight'); 


    } 
    else { 
     $(this).removeClass('highlight'); 
     $(this).addClass('evenrow'); 
    } 
}); 
$(".pretty tr:odd").click(function() { 
    $(this).find(':checkbox').attr('checked', !$(this).find(':checkbox').attr('checked')); 
    if ($(this).find(':checkbox').attr('checked')) { 
     $(this).removeClass('oddrow'); 
     $(this).addClass('highlight'); 
    } 
    else { 
     $(this).removeClass('highlight'); 
     $(this).addClass('oddrow'); 
    } 
}); 

});

Dans IE 8, vous pouvez cliquer sur les cellules pour l'une des tables uniquement, et cela ne fonctionnera qu'une seule fois, si vous actualisez la page, cela ne fonctionnera pas après cela.

Utilisation de jquery 1.6.4.

Voici un exemple partiel de ce que tout fait. http://jsfiddle.net/unauu/23/

Tout ides ce que le script ne fonctionne pas dans IE 8?

+0

Avez-vous effectué un débogage? Est-ce que IE8 renvoie des erreurs? – maxedison

Répondre

2

J'ai eu un problème similaire en utilisant .attr() dans IE et j'ai essayé d'utiliser .prop() à la place, cela a résolu mon problème et, apparemment, le vôtre aussi, je crois.

http://jsfiddle.net/unauu/24/

Je ne sais pas pourquoi cela se produit.

Questions connexes