您的位置:首页 > Web前端 > JQuery

Jquery for循环下函数中的i失效的解决办法

2016-06-19 00:00 387 查看
for(i=1;i<5;i++){

$(".gz"+i).blur(function () {

alert(i); //会获得5,而是1

});

}

在函数前加上个闭包就可以实现了!

(function (i) {

})(i);

如循环:工资*天数=应发工资 gz*ts=yf



for(i=1;i<5;i++){
(function (i) {
$(".gz"+i).blur(function () {
a=$(".gz"+i).val();
b=$(".ts"+i).val();
$(".yf"+i).val(a*b);
});
$(".ts"+i).blur(function () {
a=$(".gz"+i).val();
b=$(".ts"+i).val();
$(".yf"+i).val(a*b);
});
})(i);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  jquery for循环 闭包