zhangzijiez
2018-03-12 14:45
采纳率: 38.5%
浏览 2.1k

table中点击选中一行 要怎么做呢 请教大神

ajax循环出来的数据如何选中呢

 $("#sel").click(function (){
        $.ajax({
            url : 'bound',
            type : 'POST',
            dataType : 'json',
            data: {ny : $("#ny").val()},
            success : function (msg){
                var  ta = document.getElementById("ta");
                for (var n = ta.rows.length - 1; n > 0; n--) {
                    ta.deleteRow(n);
                }
                for (i = 0; i < msg.length; i++) {
                    $("#ta").append("<tr><td>"+msg[i].YYBH+"</td><td>"+msg[i].NY+"</td><td>"+msg[i].XMWYID+"</td><td>"+msg[i].XMMC+"</td><td>"+msg[i].YPTYMC+"</td><td>"+msg[i].RKDH+"</td><td>"+msg[i].SCCS+"</td><td>"+msg[i].GHDW+"</td><td>"+msg[i].GHRQ+"</td><td>"+msg[i].XHDW+"</td><td>"+msg[i].JX+"</td><td>"+msg[i].GG+"</td><td>"+msg[i].GHSL+"</td><td>"+msg[i].XHSL+"</td><td>"+msg[i].JCL+"</td><td>"+msg[i].GHJG+"</td><td>"+msg[i].BZ1+"</td><td>"+msg[i].BZ2+"</td><td>"+msg[i].BZ3+"</td></tr>")
                }
            } 
        });
    });

这样写每次alert 每次点击表头有反应,点击下面的就没反应了

 $("table tr").click(function() {
        var td = $(this).find("td");
        var lo_id = td[1].innerHTML;
        alert(lo_id);
        });
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

6条回答 默认 最新

  • 已采纳

    用on代理,直接$("table tr")只能帮顶上当时存在的tr,后续添加的无效

     $('table').on('tr',function(event){
      var td = $(this).find("td");
            var lo_id = td[1].innerHTML;
            alert(lo_id);
    });
    
    打赏 评论
  • helloMyidea 2018-03-12 15:00

    在行头绑定ID,选中时用ID进行取行数据

    打赏 评论
  • hxaun 2018-03-12 17:17

    因为绑定事件时页面上还没有除表头以外的tr,可以给table添加监听事件,然后获得点击位置,例如:
    $('table').on(function(event){
    var tr = $( event. target);
    });
    这样就能获得都点击对象,如果获得到的不是tr是td可以再用parent方法。

    打赏 评论
  • jyy36387 2018-03-13 01:50

    $(':button').click(function(){
    $('table').append('

    dd');
    });
    打赏 评论
  • 小小青龙 2018-03-13 02:44

    $("table").on("click","tr td",function(){
    var td = $(this)
    var lo_id = td.val()
    alert(lo_id);
    });
    用事件委托,你试试,记得大概是这样

    打赏 评论
  • lyjohn1987 2018-03-13 04:46

    使用on绑定事件

    $(document).on(click, "table tr", function() {
        var td = $(this).find("td");
        var lo_id = td[1].innerHTML;
        alert(lo_id);
    });
    
    打赏 评论

相关推荐 更多相似问题