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

Jquery DataTable从单击按钮选择的行中获取数据,jquery,datatables,Jquery,Datatables,我试图在数据表的顶部有一个编辑按钮,它将从当前选中的行中提取值并将其附加到我的url 我已经设法让它工作,但不是我所希望的那样 “我的编辑”按钮未正确使用数据表来获取数据表中存储的值 $.fn.dataTable.ext.buttons.edit = { text: 'Edit', action: function () { var assetID; $("#example tr.selected").each(function (inde

我试图在数据表的顶部有一个编辑按钮,它将从当前选中的行中提取值并将其附加到我的url

我已经设法让它工作,但不是我所希望的那样

“我的编辑”按钮未正确使用数据表来获取数据表中存储的值

    $.fn.dataTable.ext.buttons.edit = {
    text: 'Edit',
    action: function () {
        var assetID;
        $("#example tr.selected").each(function (index, row) {
            assetID = ($(row).find("td:nth-child(2)").html());
        });
        if (assetID != null) {
            var url = "/Demo/Edit/" + assetID;
            window.location.href = url;
        }
    }
};
来自Datatable站点的示例,该表带有一个按钮,该按钮将显示当前选定行中的数据。 我非常想让我的数据更整洁,并自己进入数据表

$(document).ready(function() {
var events = $('#events');
var table = $('#example').DataTable( {
    dom: 'Bfrtip',
    select: true,
    buttons: [
        "edit", //my edit button which works but requires external script
        { // Example button from website.
            text: 'Get selected data',
            action: function () {
                var count = table.rows( { selected: true } ).count();
              //var count = table.rows( { selected: true } ).data();
              // how do i then drill down into count to get value from column 2.
                events.prepend( '<div>'+count+' row(s) selected</div>' );
            }
        }
    ]
 } );
 } );
我已经尝试了很多方法,试图从datatables网站访问示例中的对象,但我无法使用它们的方法获取所选行中特定列的值


任何帮助都将不胜感激。

我将对我留下的评论发布一个先发制人的回答。如果不使用datatables来创建和绑定函数就可以做到这一点,那么只需使用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
      })
})

我在一段时间前解决了这个问题,但刚刚发现这个问题没有答案,所以我想如果这对其他人有帮助的话,我会发布我的发现

    $.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;
        }
    }
};

是否有必要使用datatables后端,或者您可以在datatables之外使用jquery进行破解?另外,您是如何获得“选中”的,您是否有addclass方法,或者该方法内置于DT中?如果您不需要DT,您可以运行类似“.selected”的程序。每个。。。对于逻辑,只需将其绑定到一个按钮。感谢Rob的反馈,我的表在表外有一个按钮,我正在使用所选的row类来识别角色,并当前从第二列获取数据,该列可以工作。我并没有在每一行上都有按钮,我正在远离那个些试图节省屏幕空间的按钮,并将所有按钮都放在表单的顶部。我喜欢你的例子,是的,在那一行有一个按钮就行了。我真的希望使用示例中的DataTable现有结构和模型,它比我的代码干净得多。
    $.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;
        }
    }
};