微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用页面中包含多个表的jquery datatable插件删除当前行

我在网站上使用datatable插件.
通常我每页只有1个数据表但在特殊显示器中我有2个数据表.

其实我有这个代码

var oTable = $('.datatable').dataTable({
    'sPaginationType':'full_numbers',"idisplayLength": 50,"oLanguage": {
        "sUrl": "js/locales/dataTables.french.txt"
    }
});

/* Add a click handler to the rows - this Could be used as a callback */
$(".delete-ajax").click(function(event) {
    event.preventDefault();
    var answer = confirm("Supprimer l'élément ?")
    if (answer){
    var loading = $('.loading-notification');
    loading.removeClass('hidden');
    $(oTable.fnSettings().aoData).each(function (){
    $(this.nTr).removeClass('row_selected');
});
$(event.target).parents('tr').addClass('row_selected');
        var url = $(this).attr('href');
        var id = $(this).attr('data-ajax');
        var anSelected = fnGetSelected( oTable );
        $.ajax({
            type: "POST",url: url,data: "delete=true&id="+ id,async : true,success: function(msg) {
            loading.addClass('hidden');
            oTable.fnDeleteRow( anSelected[0] );
            }
        });
    }
});
/* Get the rows which are currently selected */
function fnGetSelected( oTableLocal ){
    var aReturn = new Array();
var aTrs = oTableLocal.fnGetNodes();
for ( var i=0 ; i<aTrs.length ; i++ ){
    if ( $(aTrs[i]).hasClass('row_selected') ){
    aReturn.push( aTrs[i] );
}
}
return aReturn;
}

当我只有1个数据表时,这个代码很有效,但是当我有更多数据表时,我在控制台中获得了

k is undefined
[Stopper sur une erreur]   h=a._idisplayEnd;if(a.oFeatures.bServe...push(a.aoOpenRows[k].nTr)}}else{d[0]=

有关如何解决这个问题的任何想法?

解决方法

以下是如何删除表中的行(无论页面中的表数量是多少)

我在同一页面上有两张桌子

我不确定你给表的id有多好,但是如果它的“.datatable”那么:

将此功能添加到您的页面

$(".datatable tbody").delegate("tr","click",function () {
    var iPos = oTable.fnGetPosition(this);
    if (iPos !== null) {
        oTable.fnDeleteRow(iPos);//delete row
    }
});

原文地址:https://www.jb51.cc/jquery/180664.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐