2017-07-26 101 views
1

我想包圍我的頭爲什麼行被重複一次只有當正在使用tablesorter函數時刪除。這是有問題的網頁:Tablesorter錯誤克隆與jquery錶行

http://www.ffxiv-gathering.com/40.php

要複製的bug做到以下幾點:

  1. 點擊保存完好的選項卡上的任何行
  2. 轉到看標籤
  3. 點擊將其刪除
  4. 轉到Unspoiled選項卡並單擊一行...然後單擊另一個
  5. 轉到「觀看」選項卡

您可以看到最初單擊的第一行被複制。我不能爲了我的生活找出原因。刪除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

你試過'$ (「#myTable-watching」)。tablesorter({...});''click'處理程序? –

回答

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'); 
    // ... 
}); 
+0

這工作很好! 如果我想從另一個表中添加行,我需要用另一個表ID創建另一個函數,或者是否有一種方法可以通過點擊函數調用多個表ID? – Jay

+0

我回答了我自己的問題。再次感謝你的幫助。 – Jay