JavaScript + Jquery DataTable - 将数据传递到 defaultContent json 列
Posted
技术标签:
【中文标题】JavaScript + Jquery DataTable - 将数据传递到 defaultContent json 列【英文标题】:JavaScript + Jquery DataTable - pass data to defaultContent json column 【发布时间】:2021-01-17 04:09:41 【问题描述】:我有一个动态 jQuery 数据表。对于最后一列,我可以选择删除行。为了执行此操作,我需要将 itemId 值传递给按钮 onClick 属性中指定的函数。
这就是我目前的做法,但没有运气:
defaultContent: "<button class='btn btn-danger' onclick='StockSearchManagment.DeleteStock(" + data.itemId + ")'>Delete</button>"
这是我的完整 javascript 函数:
GetInfo: function (tble)
$(document).ready(function ()
$.ajax(
url: '/Home/GetList',
dataType: "json",
method: 'post',
success: function (data)
tble.DataTable().destroy();
tble.DataTable(
data: data.html
,
"columns": [
data: "itemId" ,
data: "name" ,
data: "description" ,
data: null,
defaultContent: "<button class='btn btn-danger' onclick='StockSearchManagment.DeleteStock(" + data.ItemId + ")'>Delete</button>"
]
);
,
error: function (err)
alert(err);
);
);
【问题讨论】:
【参考方案1】:您可以使用“数据”标签标记您生成的按钮,并从 onlick 事件中读取。
标签看起来像:
onlick 事件会这样做:var itemid = $(this).attr('data-id').val();
然后你就有了使用价值。
【讨论】:
他还可以获取如下数据:$(this).data('id')
【参考方案2】:
我提到了这个堆栈溢出问题: Passing more than one value into a button in the server side Datatable Jquery using MVC
它现在使用的是 render 而不是 defaultContext:
"render": function (data, type, full)
return '<button class="btn btn-danger" onclick="StockSearchManagment.DeleteStock(' + full.itemId + ')">Delete</button>';
【讨论】:
以上是关于JavaScript + Jquery DataTable - 将数据传递到 defaultContent json 列的主要内容,如果未能解决你的问题,请参考以下文章
[尝试运行或启动dataTables.js时收到TypeError
jQuery dataTables:无法在 IE 中正确显示 full_numbers 分页
jquery 数据表头在某些情况下不扩展或扩展缓慢,例如重新加载