描述你的问题
目前情况是ajax后台获取数据绑定到table上面用的是jquery的datatable插件 ,然后想实现点击这个table的
第一列 其中一行 弹出模态窗口 而这里我需要获取这一行的值 目前做到的是点击这个td只能获取这个td的值
贴上相关代码
$("#" + 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");
});
贴上报错信息
贴上相关截图
已经尝试过哪些方法仍然没解决(附上相关链接)
var aData = $('#' + tableName + '').dataTable().fnGetData(this.parent());
报错按照 冰星寒水的代码报了个错
怪我咯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的情况下
});
黄舟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的情况下
})