Jquery DataTable从单击按钮时选择的行中获取数据

时间:2016-11-10 19:38:30

标签: jquery datatables

我正在尝试在DataTable的顶部设置一个编辑按钮,该按钮将从当前选定的行中获取值并将其附加到我的网址。

我已经设法让它工作,但不是我想要的。

我的编辑按钮没有正确使用数据表来获取存储在数据表中的值。

z-index: 2

来自具有按钮的表的数据表站点的示例,该按钮用于喊出当前所选行中的数据。 我非常希望让我的数据更加整洁,并将数据转移到自己的数据库中。

fixed

我已尝试过很多方法尝试从datatables网站尝试访问示例中的对象,但我无法使用他们的方法将值作为所选行中的特定列。

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:0)

我只会对我留下的评论发表先发制人的答案。如果您可以在不使用数据表创建和绑定函数的情况下执行此操作,则可以使用jquery执行此操作并创建自己的按钮。

唯一的问题是,我不确定你是如何被选中的。这是数据表的一部分(我已经使用了很多DT,但从未使用过行选择的东西)?

无论哪种方式,它可能会将一个类应用于该行,并且use可以使用该类进行选择。

<button type="button" id="selected_action">Do It!</button>


$('#selected_action').on('click', function(){ 
    $('selected').each(function(){ 
         parent_row = $(this).closest('tr');
         //use nth-child selectors on parent_row to get what you want
      })
})

如果您在数据表中渲染按钮,请使用此选择器:

('#dc_{{dgroup.order}}_dlist tbody').on('click', '#selected_action', function(){...});

答案 1 :(得分:0)

我前段时间解决了这个问题,但刚发现这个问题没有答案,所以我想如果能帮助其他人,我会发布我的调查结果。

    $.fn.dataTable.ext.buttons.edit = {
    text: 'Edit',
    action: function () {
         var tableToQuery = $("#controllerTable").DataTable();
         var selectedRow = $("#controllerTable tr.selected");
          var rowdata = tableToQuery.row(selectedRow).data();
          var assetID = rowdata.AssetID;
          if (assetID != null) {
            var url = "/Demo/Edit/" + assetID;
            window.location.href = url;
        }
    }
};