0

Je suis confronté à un problème dans IE7 seulement en passant une valeur dynamique à javascript. comme indiqué ci-dessous. ce travail dans tous les navigateurs sauf IE 7.JavaScript passant valeur dynamique dans le problème de classe dans IE 7 seulement

$val =$id.$i; 
echo "<a href='javascript:void(0);' id='network' class=$val value='$octet'>+".$octet.".0.0.0</a> <br />"; 

Je capture de cette valeur dans Javasript comme indiqué ci-dessous

$(".msg_body #network").click(function(){ 
    var network = $(this).attr('value'); 
    alert(network); // alert fails in IE 7 

    var clsName = $(this).attr("class"); 
    alert(clsName); // alert fails in IE 7 

code complet php ci-dessous

<?php 
       $octets = $this->Ip; 
       $octetets = $this->octent1; 
       $i= 1; 
       $id='network'; 
       foreach($octetets as $octet){ 
        $val =$id.$i; 

        echo "<a href='javascript:void(0);' id='network' class=$val value='$octet'>+".$octet.".0.0.0</a> <br />"; 
        value='$octet'>+".$octet.".0.0.0</span> <br />"; 
        $i++; 

       } 

      ?> 
+0

source de confusion pour utiliser le mot réservé 'value' sur un lien – mplungjan

+0

Les ID doivent être uniques – Andreas

Répondre

1

Essayez ceci:

$(".msg_body").on('click', '#network', function(e){ 
    e.preventDefault(); 
    var network = $(this).attr('value'); 
    alert(network); // alert fails in IE 7 

    var clsName = $(this).attr("class"); 
    alert(clsName); // a 
}); 
0

élément Id's doit être unique, donc au lieu d'utiliser cet attribut, utilisez un autre nom comme:

Alter votre php:

<?php 
      $octets = $this->Ip; 
      $octetets = $this->octent1; 
      $i= 1; 
      $id='network'; 
      foreach($octetets as $octet){ 
       $val =$id.$i; 

       echo "<a href='javascript:void(0);' name='network' class=$val value='$octet'>+".$octet.".0.0.0</a> <br />"; 
       value='$octet'>+".$octet.".0.0.0</span> <br />"; 
       $i++; 

      } 
     ?> 

et votre jQuery:

$(".msg_body").on('click', '@network', function(e){ 
    e.preventDefault(); 
    var network = $(this).attr('value'); 
    alert(network); // alert fails in IE 7 

    var clsName = $(this).attr("class"); 
    alert(clsName); // a 
});