我试图在 DataTable 顶部添加一个编辑按钮,该按钮将从当前选定的行中获取值并将其附加到我的 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;
}
}
};
来自表的数据表站点的示例,该表带有一个按钮,可显示当前所选行中的数据。 我非常想让我的数据更整洁并进入数据表本身。
$(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>' );
}
}
]
} );
} );
我尝试了很多方法来尝试从数据表网站访问示例中的对象,但我无法使用它们的方法获取所选行中特定列的值。
任何帮助将不胜感激。
最佳答案
我前段时间解决了这个问题,但刚刚发现这个问题没有答案,所以我想如果我的发现对其他人有帮助的话,我会发布我的发现。
$.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;
}
}
};
关于Jquery DataTable 从单击按钮时选择的行获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40535682/