在上下文菜单中单击“获取数据表”行

时间:2019-03-07 23:12:34

标签: javascript datatables contextmenu

我想为每个DataTable行添加一个上下文菜单。

我想获取被单击的行,然后以某种方式对其进行标识(我想第一个包含主键的单元格值将起作用),然后发送包含PK和被单击选项的AJAX请求。

我已经弄清楚了如何通过使用“ tr”作为选择器来获取行,但是如何获取第一个单元格的值(包含主键)。这会打印出所有单元格:

>=

也是,这是最好的方法吗?我计划在上下文菜单中与行交互的〜10个选项。我正在使用Django作为后端。

1 个答案:

答案 0 :(得分:0)

要与DT交互时,请始终使用API​​。如果您有实例

var table = $('#example').DataTable( {..} )

然后通过传递包含options.$trigger节点的<tr>来检索当前行:

$.contextMenu({
  selector: 'tr', 
  trigger: 'right',
  callback: function(key, options) {
    var row = table.row(options.$trigger)
    switch (key) {
      case 'delete' :
        row.remove().draw()
        break;
      case ...
    } 
  },
  items: {
    'delete': { name: 'Delete', icon: 'delete' },
    ...
  }
}) 
  

但是如何获取第一个单元格的值(其中包含主   键)。

row.data()[0]

演示-> http://jsfiddle.net/z2q5scgr/