删除操作按钮,当我有一个建立使用数据表的表的页面,并且每行有一个操作按钮,其将从该行一些数据(一个ID,只是一个int)到列表。为了防止用户多次点击每个操作按钮,我做了这样的操作,因此第一次点击它时删除了一行按钮。这很好,直到我意识到按钮回来,如果你切换到表的下一页,然后切换回第一页。古怪的行为从表中的JavaScript
为了解决这个问题,我写了一些JS来比较每列与我的数据的列表,如果该行的数据已经在列表中,它会删除该行的操作按钮。每次使用DataTable的draw.dt
函数重新加载表格(例如,当您切换到表格的不同页面并返回时),都会发生这种情况。
问题是,当我切换页面和JavaScript去工作删除按钮,出于某种原因它跳过隔行。例如,如果我点击(因此删除)前三行的动作按钮,切换页面并切换回来,我的JS将删除第1,3,5行上的动作按钮,而不是1,2和3行。一致的是,由于我的草率的JS技能,它必须是某种简单的循环错误,但我找不到它。
下面是代码:
$(document).on('draw.dt', function() {
var $allSerialNumbers = $('.box-electrode'); // This is a list of all the rows' action buttons/ID's
$('#electrodes li').each(function (i, li) { // This is the list of ID's I'm comparing to
var $id = $(li).data('id');
for(var index = 0; index < $allSerialNumbers.length; index++){
if($id == $allSerialNumbers.eq(index).attr('data-id')){ // For each item in my ID list, run through all the rows and see if any Action Button ID's match any on the list
$('.box-electrode').eq(index).remove(); // If they do match, remove that Action Button
}
}
})
});
插入'的console.log($ ID + '== '+ $ allSerialNumbers.eq(指数).attr(' 数据-ID');''的为()'循环之后,看看日志怎么说它。可能是在那里,这是造成问题。发布JFiddle与信息,我可以采取更深入的了解。 – Matthew