gpt4 book ai didi

jquery - 如何使用页面中具有多个表的jquery数据表插件删除当前行

转载 作者:行者123 更新时间:2023-12-01 00:49:20 25 4
gpt4 key购买 nike

我在网站中使用数据表插件。通常我每页只有 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
}
});

关于jquery - 如何使用页面中具有多个表的jquery数据表插件删除当前行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8098244/

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