如何从特定表行的 jQuery 数据表中访问单元格

Posted

技术标签:

【中文标题】如何从特定表行的 jQuery 数据表中访问单元格【英文标题】:How to access Cell from jQuery data tables from specific table row 【发布时间】:2017-04-09 07:16:48 【问题描述】:

我有一个 JFiddle,它能够识别表格行并根据需要返回表格数据,但需要返回该行的最后两个单元格,它们是可写、修改和返回修改后的值?如何修改 jQuery 如下?

$(document).ready(function () 
    var table = $('#example').DataTable();

    $('#example tbody').on('click', 'tr', function () 
        $(this).toggleClass('selected');
    );

    $('#button').click(function () 
        var ids = $.map(table.rows('.selected').data(), function (item) 
            return item[0]
        );
        console.log(ids)
        for(var i =0;i<table.rows('.selected').data().length;i++)
        alert(table.rows('.selected').data()[i] + ' row(s) selected');
        
    );
);

http://jsfiddle.net/arunpjohny/f4bppa43/

【问题讨论】:

@HenryDev 没错 你还想要标题:开始日期和薪水吗? 是的,正是@HenryDev 【参考方案1】:

根据原始文档,有几种方法可以做到这一点:

https://datatables.net/reference/type/cell-selector

1- 按 ID:

 var table = $('#example').DataTable();
 var data = table.cell('#cell-2-42').data();

2- 按类别

var table = $('#example').DataTable();
var cells = table.cells('.priority');

3- 通过多个选择器:

 var table = $('#example').DataTable();
 var cells = table.cells('.important, .intermediate');

【讨论】:

@Adel Mehraban我如何将单元格映射到行? var rows = table.rows( selected: true ).indexes(); 抱歉最后一条评论:datatables.net/blog/2015-09-11#Buttons-and-Select【参考方案2】:

经过艰苦的测试和实验,这几乎可以做到!

$(document).ready(function () 
    var table = $('#example').DataTable();

    $('#example tbody').on('click', 'tr', function () 
        $(this).toggleClass('selected');
    );

    $('#button').click(function () 
        var ids = $.map(table.rows('.selected').data(), function (item) 
            return item[0]
        );
        console.log(ids)
        for(var i =0;i<table.rows('.selected').data().length;i++)

        alert(table.rows('.selected').data()[i] + ' row(s) selected');
        
    );
     var ids = table.rows('.selected').data()

     $('#button').click(function( row, data, index ) 
  row=table.rows('.selected');
  data=table.rows('.selected').data();
    if ( data[0] == "1,System Architect,Edinburgh,61,2011/04/25,$320,800" ) 
      alert($('td:eq(4)',row[1]).text());
    
  );
);

http://jsfiddle.net/f4bppa43/480/

【讨论】:

以上是关于如何从特定表行的 jQuery 数据表中访问单元格的主要内容,如果未能解决你的问题,请参考以下文章

JQuery追加到表行的末尾而不是Tbody?

使用 Jquery UI 排序除前三个单元格外的表行排序

如何根据jQuery数据表中的列值设置表行的颜色

如何隐藏表行溢出?

如何使用jquery获取单击按钮的特定值

如何从 Flutter 中的网格视图计数访问生成列表中的特定单元格?