如何通过单击DataTable的同一行上的“编辑”按钮获取Id值

我使用jQuery Datatable列出记录并添加一个Action按钮(Edit)来编辑modal dialog中的记录。 如果我选择一行,我可以获得行id值并在modal dialog中打开相关记录。 但是,如果我直接单击“ Edit按钮,则无法获取相关记录的Id值(在同一行上),因为单击“ Edit按钮时未首先选中该值。 我想要做的是:我想获得我单击编辑按钮的行的Id值。 可能吗? 如果没有,我可以在单击“ Edit按钮时以编程方式选择hover行吗? (如果先前的方案是可能的,我会更喜欢它)。 任何的想法?

 function openModal() { var table = $('#dtbListAccount').DataTable(); var oRow = $('this').parents('tr')[0]; var oData = table.fnGetData(oRow); //code omitted for brevity }; 

在此处输入图像描述

您可以使用此代码来实现此目的。

 var table; $(document).ready( function () { table = $('#example').DataTable(); } ); $('body').on('click', '#btnEdit', function(){ //to get currently clicked row object var row = $(this).parents('tr')[0]; //for row data console.log( table.row( row ).data() ); }); 

它将行数据作为字符串数组返回。

现场演示

使用浏览器控制台查看结果。

这是完整的源代码。 希望这可以帮助 :)

 //when button (edit button here) is clicked.... Note: no need id for buttons too, just use  
  
Id Name Surname Action
1 Hans Jahnsen
2 Robert Boylstat
3 Jim Alexi

将行id分配给编辑按钮,为编辑按钮编写单击事件,根据单击的按钮的ID,触发编辑function/视图。

您可以在呈现自身时将行id分配给按钮,或者在页面加载时编写一个小function。

如果id在父容器上,则找到它的值并使用它。 如果它是兄弟姐妹,那么就这样做。