2009-12-31 7 views
0

Ce code ne fonctionne pasévénement dans chaque ne fonctionne pas

jQuery.each(["Alloggio","Macchina","Aereo","Treno"], function(){   
     t = this; 
     $("#ChkPrenotazione" + t + "Default").change(function(){    
      $(".Chk" + t).val($(this).val());   
     }); 
    }); 

Je veux que t intérieur sur l'événement de changement est égal à « Alloggio » ou « Macchina » ou « Aereo » ou « Treno »

Comment puis-je le réparer?

grâce

+0

Qu'est-ce qui ne fonctionne pas? –

Répondre

1

Vous devez stocker les t localement. Cela peut être fait avec une fermeture:

jQuery.each(["Alloggio","Macchina","Aereo","Treno"], function(){   
    $("#ChkPrenotazione" + this + "Default").change((function(t){ 
     return function() { 
      $(".Chk" + t).val($(this).val()); 
     }; 
    })(this)); 
}); 

Ici, nous utilisons la fonction function(t) { … } pour retourner une fonction avec notre this correspondant. Ceci est fait en appelant cette fonction avec this comme paramètre pour t.

Questions connexes