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