Jquery 每种情况下的事件';行不通

Jquery 每种情况下的事件';行不通,jquery,Jquery,这个代码不起作用 jQuery.each(["Alloggio","Macchina","Aereo","Treno"], function(){ t = this; $("#ChkPrenotazione" + t + "Default").change(function(){ $(".Chk" + t).val($(this).val()); }); })

这个代码不起作用

jQuery.each(["Alloggio","Macchina","Aereo","Treno"], function(){         
        t = this;
        $("#ChkPrenotazione" + t + "Default").change(function(){            
            $(".Chk" + t).val($(this).val());        
        });
    });
我希望变革事件中的t-inner等同于“Allogio”或“Macchina”或“Aereo”或“Treno”

我怎样才能修好它


谢谢

您需要在本地存储
t
。这可以通过关闭来完成:

jQuery.each(["Alloggio","Macchina","Aereo","Treno"], function(){         
    $("#ChkPrenotazione" + this + "Default").change((function(t){
        return function() {
            $(".Chk" + t).val($(this).val());
        };
    })(this));
});
在这里,我们使用函数
function(t){…}
返回一个函数以及相应的
this
。这是通过调用该函数,将
This
作为
t
的参数来实现的