gpt4 book ai didi

javascript - 从数据表行中获取每条记录的属性值

转载 作者:行者123 更新时间:2023-11-30 19:22:00 25 4
gpt4 key购买 nike

我正在使用 我想编辑和删除数据表记录

当我执行 console.log(row) 以下输出时,我得到:

["user1", "Edit"] (index):274 (2) ["user2", "Edit"] (index):274 (2) ["user3", "Edit"] (index):274 (2) ["user4", "Edit"] (index):274 (2) ["user5", "Edit"]

我想要的是从 render: function (data, type, row) 获取 data-id ,我在数据表脚本中使用了它,当点击 edit 按钮 我想在警报中获取特定的 id 但我无法提取 data-id

我的 jQuery 代码:

$.fn.dataTable.ext.errMode = 'none';
var table = $('#catgeory_list').DataTable({
processing: true,
language: {
emptyTable: 'no result found.'
},
columnDefs: [{
visible: true,
targets: 0,
render: function (data, type, full, meta) {
return data;
}
}, {
visible: true,
targets: 1,
render: function (data, type, row) {
console.log(row);
return '<button id="editBtn" class="btn btn-wrang btn-flat edit" name="editBtn" type="button">Edit</button>' + '&nbsp;&nbsp;<button id="deleteBtn" class="btn btn-danger btn-flat delete" name="deleteBtn" type="button" >Delete</button>';
}
}
],
});

最佳答案

为了获得被点击行的任何源对象/数组属性/项目,您只需要简单的 row().data() 针对 DataTable 行调用的 API 方法(由最靠近单击按钮的 <tr> 节点选择):

$('table').on('click', 'tbody td button', function(){
const rowData = dataTable.row($(this).closest('tr')).data();
alert(`Row ID is ${rowData.id}`);
});

在这里,dataTable是一个变量,您将 DataTable 分配给。

您可能会在下面找到完整的DEMO

此外,考虑到您的最终目标,您可能会发现使用我的答案超过 here ,它提供了可编辑数据表的完整工作演示。所以,如果您觉得这有帮助,欢迎投赞成票;)

//src data
const srcData = [
{id: 1, item: 'apple'},
{id: 2, item: 'banana'},
{id: 3, item: 'tomato'}
];

//datatables init
const dataTable = $('table').DataTable({
dom: 't',
data: srcData,
columns: [{data: 'item', title: 'Item Name', render: data => data+'<button>Show Id</button>'}]
});

//click handler
$('table').on('click', 'tbody td button', function(){
const rowData = dataTable.row($(this).closest('tr')).data();
alert(`Row ID is ${rowData.id}`);
});
td button {float: right}
<!doctype html><html><head><link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/v/dt/jq-3.3.1/dt-1.10.18/rg-1.1.0/datatables.min.css" /><script type="application/javascript" src="https://code.jquery.com/jquery-3.3.1.min.js"></script><script type="text/javascript" src="https://cdn.datatables.net/v/dt/jq-3.3.1/dt-1.10.18/rg-1.1.0/datatables.min.js"></script></head><body><table></table></body></html>

关于javascript - 从数据表行中获取每条记录的属性值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57345185/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com