做码农不如养猪 2021-05-20 14:34 采纳率: 50%
浏览 75
已采纳

ajax循环添加的标签,再用循环添加对应的点击事件为什么点击效果始终在最后一位循环

这是循环代码
"<td><button>更新</button><button class='deleteInfo"+i+"' value='"+json[i].student.id+"'>删除</button></td></tr>";

这是循环添加点击的事件代码:

$(document).ready(function(){
    //删除人员信息
    for (var i = 0; i <5 ; i++) {
        $(document).on('click','.deleteInfo'+i,function(){
            alert($(".deleteInfo"+i).val());
        });
    }
});

最终无论点击哪个按钮都是打印最后的值,求解

  • 写回答

2条回答 默认 最新

  • Go 旅城通票 2021-05-20 14:37
    关注
    let ,var的话涉及到闭包,引用i的最后值。而且也不需要用到i,函数体中this为当前点击的button
    
      for (let i = 0; i <5 ; i++) {
            $(document).on('click','.deleteInfo'+i,function(){
                alert($(".deleteInfo"+i).val());
    aerlt(this.value)///
            });
        }
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 孟德尔随机化结果不一致
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀
  • ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100
  • ¥15 关于#hadoop#的问题
  • ¥15 (标签-Python|关键词-socket)
  • ¥15 keil里为什么main.c定义的函数在it.c调用不了
  • ¥50 切换TabTip键盘的输入法
  • ¥15 可否在不同线程中调用封装数据库操作的类