我试图解决为什么只有在使用tablesorter函数时才删除行的原因。这是有问题的页面:
http://www.ffxiv-gathering.com/40.php
要复制错误,请执行以下操作:
您可以看到最初点击的第一行是重复的。我不能为我的生活找出原因。删除tablesorter函数可以解决问题...但是,我希望保持这种状态,因为它按状态对表进行排序(从而将当前和即将到来的节点移到顶部)。
这是运行此命令的jquery:
$(document).ready(function() {
var items = [];
$("#myTable-unspoiled >tbody >tr").on("click", function() {
var newTr = $(this).closest("tr").clone().addClass("remove");
items.push(newTr);
newTr.appendTo($("#myTable-watching"));
$(".remove").click(function(){
$(this).closest('tr').remove();
var rowCount = $('#myTable-watching >tbody >tr').length;
$('#counter').html(rowCount);
});
var rowCount = $('#myTable-watching >tbody >tr').length;
$('#counter').html(rowCount);
$("#myTable-watching").tablesorter({
// sort status column, then item; ascending
sortList: [[6,0],[0,0]]
});
});
});
删除此项可修复问题,但阻止我排序:
$("#myTable-watching").tablesorter({
// sort status column, then item; ascending
sortList: [[6,0],[0,0]]
});
这是一个没有tablesorter插件的页面。
http://www.ffxiv-gathering.com/40-test.php
要查看我的问题...单击彩色行,然后单击白色行,再单击另一个彩色行并查看“观察”选项卡。
答案 0 :(得分:0)
当您从表中添加和/或删除行时,请确保触发"更新"而不是重新初始化tablesorter ......
newTr.appendTo($("#myTable-watching"));
$("#myTable-watching").trigger("update");
和
$(".remove").click(function(){
var $table = $(this).closest('table');
$(this).closest('tr').remove();
$table.trigger('update');
// ...
});