2017-08-28 60 views
0

我有一個數據表和一個按鈕,當點擊時應該對行索引做些什麼。我做這個,像這樣:JQuery DataTable在排序後得到行索引

$("#tblData tBody").on('click', '.updateButton', function() { 

     updateButtonRowIndex = $(this).closest('tr').prevAll().length; 
     alert(updateButtonRowIndex); 
    }); 

這個工作,但是當我應用排序的列之一,它不再需要實際的行數,但是從0重新啓動這意味着,如果我有點對ID和點擊按鈕182(現在在頂部),它會顯示行索引爲0,它將在錯誤的行(實際行0)中繪製一個值。

任何解決方案?

+0

如果該行位於頂部,其指數_is_ 0。如果您的應用程序邏輯無法處理,並且需要原始索引 - 然後在排序之前循環遍歷行,並將當前索引存儲到自定義屬性中,以便稍後可以從中訪問它。 – CBroe

回答

0

您需要存儲的原始行索引值,你總是可以使用一個屬性,像這樣:

$("#tblData tBody").on('click', '.updateButton', function() { 
    if ($(this).closest('tr').attr('originalRowIndex')) { 
    alert("This is the original value: " 
     $(this).closest('tr').attr('originalRowIndex')); 
    } else { 
    updateButtonRowIndex = $(this).closest('tr').prevAll().length; 
    $(this).closest('tr').attr('originalRowIndex', updateButtonRowIndex) 
    alert(updateButtonRowIndex); 
    } 
});