[英]How to add an onclick callback for button on every row of a DataTables table
我有一张桌子,每一行都有一个按钮。 我使用JS DataTables格式化表格。 我想在每行的按钮上添加一个onclick回调。
现在,我有以下内容:
$(document).ready(function(){
$(".btn-email").click(send_email);
$(".btn-fix").click(toggle_status);
});
但是,这只会将onclick回调添加到显示的行的按钮中,即,导航到表的新页面时(由于DataTables处理分页),这些按钮不起作用。
我已经尝试过以下没有运气的情况:
$("#jfTable").on( 'draw', function () {
$(".btn-email").click(send_email);
$(".btn-fix").click(toggle_status);
} );
正确的方法是什么?
我希望这样的事情对您有所帮助,因为它确实对我的情况有用。
看我的代码:
{ columns: [{ data: "name", render: function(data, type, dataObject, meta) { return `<a class="col" id="${dataObject.id}">${data}</a>`; } }] } $(document.body).on("click", ".col", function(item) { console.log(item) })
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
我选择了一些简单的方法:
$(document).ready(function(){
$('#jfTable').on('page.dt search.dt length.dt', function () {
$(".btn-email").off("click").on("click", send_email);
$(".btn-fix").off("click").on("click", toggle_status);
});
});
当以相应方式更新数据表视图时,将触发page.dt
, search.dt
或length.dt
。 .off("click")
避免具有附加了多个相同单击事件的按钮(例如,来自先前的分页)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.