search

Home  >  Q&A  >  body text

javascript - 请问点击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());
报错按照 冰星寒水的代码报了个错

PHP中文网PHP中文网2822 days ago256

reply all(2)I'll reply

  • 怪我咯

    怪我咯2017-04-10 17:07:13

    试试

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

    reply
    0
  • 黄舟

    黄舟2017-04-10 17:07:13

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

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

    reply
    0
  • Cancelreply