Javascript 如何通过单击DataTables中的每个列按钮来获取列值?

Javascript 如何通过单击DataTables中的每个列按钮来获取列值?,javascript,jquery,jsp,datatables,Javascript,Jquery,Jsp,Datatables,我正在尝试为Datatables可扩展行框架上的每一列设置编辑按钮 如何通过单击DataTables中的每个列按钮来获取列值?当我点击一个按钮时,我得到的是未定义的数据和数据[2]值。谁能告诉我哪里做错了?请参考包含的图像和片段 $(文档).ready(函数(){ 变量表=$('#示例')。数据表({ “ajax”:“user.json”, “栏目”:[ { “className”:“详细信息控制”, “可订购”:错误, “数据”:空, “defaultContent”:” }, {“数据”

我正在尝试为Datatables可扩展行框架上的每一列设置编辑按钮

如何通过单击DataTables中的每个列按钮来获取列值?当我点击一个按钮时,我得到的是未定义的数据和数据[2]值。谁能告诉我哪里做错了?请参考包含的图像和片段


$(文档).ready(函数(){
变量表=$('#示例')。数据表({
“ajax”:“user.json”,
“栏目”:[
{
“className”:“详细信息控制”,
“可订购”:错误,
“数据”:空,
“defaultContent”:”
},
{“数据”:“名称”},
{“数据”:“电话”},
{“数据”:“角色”},
{
“目标”:-1,
“数据”:空,
“defaultContent”:“编辑”
}
],
“订单”:[[1,‘asc']]
});
$(#示例tbody')。在('click','button',function(){
var data=table.row($(this.parents('tr')).data();
警报(数据[1]+”的手机是:“+数据[2]);
});
//为打开和关闭详细信息添加事件侦听器
$(#示例tbody')。在('click','td.details control',函数(){
var tr=$(this.nexist('tr');
var行=表.行(tr);
if(row.child.isShown()){
//此行已打开-关闭它
row.child.hide();
tr.removeClass(“显示”);
}
否则{
//打开这一排
row.child(格式(row.data()).show();
tr.addClass(“显示”);
}
});
});
名称
电话
角色
名称
电话
角色
您需要使用

此外,我建议您使用
.closest
函数,因为您需要返回第一个匹配项

 $('#example tbody').on('click', 'button', function () {
       var data = table.row($(this).closest('tr')).data();
       alert(data[Object.keys(data)[0]]+' s phone: '+data[Object.keys(data)[1]]);
 });

你能给我们提供你的html吗?还是一把小提琴更好?@Hoang谢谢你的评论。之后,所有的HTML代码都引用了这段代码。谢谢你的回复。我试过了。最近的('tr')不起作用。
 $('#example tbody').on('click', 'button', function () {
       var data = table.row($(this).closest('tr')).data();
       alert(data[Object.keys(data)[0]]+' s phone: '+data[Object.keys(data)[1]]);
 });