我的javascript循环无法正常工作。我只得到$i
的最终值。
$(function() {
var $count = $('#count').val();
for (var $i = 1; $i < $count; $i++) {
var btnRemove = $('#removeImage' + $i);
var profilepictureid = $('#profilePitcureID' + $i).val();
btnRemove.click(function() {
alert($i);
});
}
});
答案 0 :(得分:3)
当您的click
事件处理程序执行时,$i
已达到其最终值($count - 1
)。您需要在循环的每次迭代中捕获$i
的值。你可以通过在每次迭代中引入一个“关闭”$i
值的闭包来实现这一点:
for(var $i=1; $i<$count; $i++) {
var btnRemove=$('#removeImage'+$i);
var profilepictureid = $('#profilePitcureID'+$i).val();
(function ($i) {
btnRemove.click(function(){
alert($i);
});
}($i));
}