Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/409.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在单击行时获取数据表名称_Javascript_Jquery_Datatables - Fatal编程技术网

Javascript 如何在单击行时获取数据表名称

Javascript 如何在单击行时获取数据表名称,javascript,jquery,datatables,Javascript,Jquery,Datatables,我目前正在开发一个系统,它的客户端是用Javascript编码的,动态表来自librarie数据表 如何在单击行时获取表名 我需要编写代码,因为只有一个函数用于管理多个表的创建,我必须从行上的特定列中获取数据,单击以将它们放入数组并将其作为参数发送 从一个单元格中获取数据很容易,但是从数据表的id(当您不知道该id时)获取数据表的一列的所有数据在网络上有点困难 $(nomTable + " tbody").on('click', 'tr', function (e) { var

我目前正在开发一个系统,它的客户端是用Javascript编码的,动态表来自librarie数据表

如何在单击行时获取表名

我需要编写代码,因为只有一个函数用于管理多个表的创建,我必须从行上的特定列中获取数据,单击以将它们放入数组并将其作为参数发送

从一个单元格中获取数据很容易,但是从数据表的id(当您不知道该id时)获取数据表的一列的所有数据在网络上有点困难

$(nomTable + " tbody").on('click', 'tr', function (e) {
        var cell = $(this).parent("td");
        var cells = cell.context.cells;
        var contextData = {
            "a": cells[0].innerText,
            "b": cells[2].innerText,
            "c": cells[3].innerText,
            "d": cells[5].innerText,
            "e": cells[6].innerText,
            "arrayOfColumnXData" : aFunction(this)
        }
    });

function aFunction(p){
...code...
}

您的代码可以简化如下:

 $(nomTable + ' tbody').on('click', 'tr', function(e) {
    // Get API instance of the table containing the row
    var api = $(this).closest('table').DataTable();

    // Get row data
    var data = api.row(this).data();

    var contextData = {
       "a": data[0],
       "b": data[2],
       "c": data[3],
       "d": data[5],
       "e": data[6],
       "arrayOfColumnXData" : data
   };
});
请参见下面的示例进行演示

$(文档).ready(函数(){
$(“#示例”).DataTable();
$(#示例tbody')。在('click','tr',函数(e)上{
var api=$(this).closest('table').DataTable();
var data=api.row(this.data();
var contextData={
“a”:数据[0],
“b”:数据[2],
“c”:数据[3],
“d”:数据[5],
“e”:数据[1],
“arrayOfColumnXData”:数据
};
console.log(contextData)
});
});

名称
位置
办公室
年龄
开始日期
薪水
名称
位置
办公室
年龄
开始日期
薪水
老虎尼克松
系统架构师
爱丁堡
61
2011/04/25
$320,800
加勒特温特斯
会计
东京
63
2011/07/25
$170,750
阿什顿考克斯
初级技术作者
旧金山
66
2009/01/12
$86,000
塞德里克·凯利
高级Javascript开发人员
爱丁堡
22
2012/03/29
$433,060
佐藤航空
会计
东京
33
2008/11/28
$162,700
布里尔·威廉姆森
集成专家
纽约
61
2012/12/02
$372,000
赫罗德·钱德勒
营业员
旧金山
59
2012/08/06
$137,500
罗娜·戴维森
集成专家
东京
55
2010/10/14
$327,900
科琳赫斯特
Javascript开发人员
旧金山
39
2009/09/15
$205,500
索尼娅·弗罗斯特
软件工程师
爱丁堡
23
2008/12/13
$103,600
杰娜·盖恩斯
办公室经理
伦敦
30
2008/12/19
$90,560
奎因·弗林
支撑导线
爱丁堡
22
2013/03/03
$342,000
查尔德·马歇尔
区域主任
旧金山
36
2008/10/16
$470,600
海莉·肯尼迪
高级市场设计师
伦敦
43
2012/12/18
$313,500
塔蒂亚娜·菲茨帕特里克
区域主任
伦敦
19
2010/03/17
$385,750
迈克尔·席尔瓦
营销设计师
伦敦
66
2012/11/27
$198,500
柏德
首席财务官(CFO)
纽约
64
2010/06/09
$725,000
格洛丽亚·利特尔
系统管理员
纽约
59
2009/04/10
$237,500
布拉德利·格里尔
软件工程师
伦敦
41
2012/10/13
$132,000
戴里奥斯
人事领导
爱丁堡
35
2012/09/26
$217,500
杰内特·考德威尔
开发领导
纽约
30
2011/09/03
$345,000
尤里浆果
首席营销官(CMO)
纽约
40
2009/06/25
$675,000
凯撒万斯
售前支持
纽约
21
2011/12/12
$106,450
多丽丝·怀尔德
营业员
西德尼
23
2010/09/20
$85,600
当归
首席执行官(CEO)
伦敦
47
2009/10/09
$1,200,000
加文·乔伊斯
开发商
爱丁堡
42
2010/12/22
$92,575
张珍妮弗
区域主任
新加坡
28
2010/11/14
$357,650
布伦登·瓦格纳
软件工程师
旧金山
28
2011/06/07
$206,850
菲奥娜绿色
首席运营官(COO)
旧金山
48
2010/03/11
$850,000
寿伊图
区域营销
东京
20
2011/08/14
$163,000
米歇尔之家酒店
集成专家
西德尼
37
2011/06/02
$95,400
苏基伯克斯
开发商
伦敦
53
2009/10/22
$114,500
普雷斯科特·巴特利特
技术作者
伦敦
27
2011/05/07
$145,000
加文·科尔特斯
队长
旧金山
22
2008/10/26
$235,500
马蒂娜·麦克雷
售后支持
爱丁堡
46
2011/03/09
$324,050
统一管家
营销设计师
旧金山
47
2009/12/09
$85,675
霍华德·哈特菲尔德
办公室经理
旧金山
51
2008/12/16
$164,500
希望富恩特斯
秘书
旧金山
41
2010/02/12
$109,850
维维安·哈雷尔
财务总监
旧金山
62
2009/02/14
$452,500
蒂莫西·穆尼
办公室经理
伦敦
37
2008/12/11
$136,200
杰克逊·布拉德肖
经理
纽约
65
2008/09/26
$645,750
梁丽薇
支持工程师
新加坡
 $(nomTable + ' tbody').on('click', 'tr', function(e) {
    // Get API instance of the table containing the row
    var api = $(this).closest('table').DataTable();

    // Get row data
    var data = api.row(this).data();

    var contextData = {
       "a": data[0],
       "b": data[2],
       "c": data[3],
       "d": data[5],
       "e": data[6],
       "arrayOfColumnXData" : data
   };
});