iteye_12067 2010-05-11 15:03
浏览 425
已采纳

Jquery循环添加事件问题

jquery异步加载获得json一个list对象.
写了个for循环
[code="java"][
function loadUsers(json) {
var obj = JSON.parse(json);
var list = obj.list;
for (var i = 0; i < list.length; i++) {
var id = list[i].id;
var truename = list[i].truename;
var type = list[i].type;

    $("#inserthtml").after("<tr><td>" + truename + "</td><td><input type='radio' id='" + id + "_A' name='radio_"
            + id + "' value='0'>未激活" + "<input type='radio' id='" + id
            + "_B' name='radio_" + id
            + "' value='1'>管理员<input type='radio' id='" + id
            + "_C' name='radio_" + id + "' value='2'>项目主管"
            + "<input type='radio' id='" + id + "_D' name='radio_" + id
            + "' value='3'>员工 </td><td><a href='/IdeaYapai_20100505/DeleteUserServlet?id=" + id
    + "' onclick='return confirm(\"确定删除?\");' >删除</a></td><td><input type='button' id='updatetype" + id
            + "' value='更新权限'/></td></tr>")


switch (type) {
        case 0 :
            $("#" + id + "_A").attr("checked", "true");
            break;
        case 1 :
            $("#" + id + "_B").attr("checked", "true");
            break;
        case 2 :
            $("#" + id + "_C").attr("checked", "true");
            break;
        case 3 :
            $("#" + id + "_D").attr("checked", "true");
            break;
    }

    $("#updatetype" + id).click(function() {
        $.ajax({
                    url : 'UpdateTypeServlet',
                    cache : false,
                    type : 'post',
                    dataType : 'html',
                    data : 'userid='
                            + id
                            + '&newtype='
                            + $("input[name=radio_" + id + "][checked]")
                                    .val()

                });
    });
}

}
[/code]

问题是:每添加一行

就给里的button添加一个事件,但是这样的事件获得的id和newtype都是最后一个元素的.
请教如何给每一个按钮添加动作事件才能使获得的ID和newtype是目标元素的.
  • 写回答

7条回答 默认 最新

  • qwe_rt 2010-05-11 15:33
    关注

    补充一下:在button按钮的前面添加一个隐藏域。

    [code="html"]


    "+
    "<input type='button' id='updatetype" + id

    + "' value='更新权限' onclick='updateType()'/>

    [/code]

    ps:用记事本手写代码,可能存在某些语法错误

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(6条)

报告相同问题?

悬赏问题

  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作