停止执行数据表分页上的事件

时间:2018-07-24 06:00:19

标签: javascript c# jquery asp.net datatable

我有一个内联数据表,当我更改数据表中的数据并单击下一页时,我需要显示引导程序模态。 如果单击,则应保存数据,并在数据表中显示下一页。当我点击时,它应该停留在同一页面上  现在,问题出在没有点击数据表中的“是/否”按钮,它无需等待用户响应即可进入下一页。它应该留在同一页面上。我尝试了以下方法来停止事件执行。

e.preventDefault()
e.stopPropogation()
e.stopImmediatePropogation()

上述事件不起作用。非常感谢您的帮助。谢谢。

2 个答案:

答案 0 :(得分:2)

您应该使用preDraw事件,因为分页或排序也会丢失数据。另外,请确保您使用的是最新的数据表版本1.10.19。 Doc:https://datatables.net/reference/event/preDraw

var table = $('#example').DataTable();
table.on( 'preDraw', function (e, settings) {
    if(!confirm('Leave?')) {
        return false;
    }
});

jsfiddle:http://jsfiddle.net/ebRXw/6258/

检查所有可用事件:https://datatables.net/reference/event/

您还可以合并orderpage事件。 像这样:

var table = $('#example').DataTable();
table.on( 'order.dt', myConfirm);
table.on( 'page.dt', myConfirm);

function myConfirm(e, settings) {
    if(!confirm('Leave?')) {
        return false;
    }
}

答案 1 :(得分:0)

我在datatables.net论坛中获得了此答案的解决方案。

var table=$('#grid').datatable();
table.settings()[0].jqXHR.abort(); 

它将终止ajax请求。