首页 > 请问点击table的其中一列td弹出模态窗口怎么获取点击的这个td所在的tr

请问点击table的其中一列td弹出模态窗口怎么获取点击的这个td所在的tr

  1. 描述你的问题
    目前情况是ajax后台获取数据绑定到table上面用的是jquery的datatable插件 ,然后想实现点击这个table的

第一列 其中一行 弹出模态窗口 而这里我需要获取这一行的值 目前做到的是点击这个td只能获取这个td的值

  1. 贴上相关代码

 $("#" + tabName + " tbody tr").find("td:eq(0)").click(function (e) {
                    alert(e);
                    //var index = $(this).context._DT_RowIndex; //行号
                    var aData = $('#' + tableName + '').dataTable().fnGetData();
                    //这里获取的是整个table的数据  而我只需要获取点击的这一td所在的这一行
                    //GoToNodeClick(aData.PoleObjID, "clpole", 18);
                    alert(tableName);
                    var url = "mapShowModalDialog.aspx";
                    var obj = {
                        LampObjID: aData.LampObjID,
                        zoom: 18,
                        PoleType: "clpole"
                    };
                    window.showModalDialog(url, obj, "dialogWidth:800px;dialogHeight:500px;center:yes;help:yes;resizable:no;status:no");
           
                });
  1. 贴上报错信息

  2. 贴上相关截图

  3. 已经尝试过哪些方法仍然没解决(附上相关链接)

var aData = $('#' + tableName + '').dataTable().fnGetData(this.parent());
报错按照 冰星寒水的代码报了个错


试试

$("#" + tabName + " tbody tr").find("td:eq(0)").click(function (e) {
                   var tr=$(this).parents("tr");//tr是JQ对象
                   //或者
                   var tr=$(this).parent();//td的父元素就是tr的情况下
           
                });          

思路和楼上差不多,不过我们一般都把事件绑定到table上,而不是把每一个td都绑定一次click事件,合理利用事件冒泡

var $table = $('table');//table
$table.on('click','td',function(){
    console.log(this);//获取到了被单击的td
    var tr=this.parent();//td的父元素就是tr的情况下
})
【热门文章】
【热门文章】