排序后,JQuery DataTable获取行索引

时间:2017-08-28 09:17:23

标签: javascript jquery

我有一个包含数据的表和一个按钮,单击该按钮时应该对行索引执行某些操作。我这样做了:

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

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

这有效,但是当我对其中一列应用排序时,它不再需要实际的行号,而是从0重新开始。这意味着如果我对ID进行排序并单击按钮182(现在位于顶部)它将显示行索引为0,它将在错误的行(实际的行0)中绘制一个值。

对此有何解决方案?

1 个答案:

答案 0 :(得分: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);
  }
});