数据表并从页脚

时间:2017-11-16 13:27:14

标签: javascript datatables

我遇到了Datatables和缓存变量的问题。 我需要在提交时检索#peso_totale_componenti以检查其有效性。

示例中的正确值是15.4,就像它的输入值一样。

我已插入警告以检查此输入,但我得到6.6(这是第一行的值。)

  var peso_totale_componenti = $("#peso_totale_componenti").val();
  alert(peso_totale_componenti);

我不知道为什么。但是,如果我更改选项卡面板或调整窗口大小并单击提交,则此时警报中的值是正确的(15.4)

数据表的缓存值似乎有问题吗?

更新:ID是唯一的。我在Datatables中得到了一个drawcallback的总和:

drawCallback: function () {
      var api = this.api();
      var index = 3; //colonna pesi
      $( api.column(index).footer() ).html( "<input type='hidden' id='peso_totale_componenti' value='" + api.column(index).data().sum() + "'>" + api.column(index).data().sum() ); //peso totale
    },

更新2:解决使用:

    table.rows().invalidate('dom').draw(false);
每次插入/删除行后

enter image description here

2 个答案:

答案 0 :(得分:0)

这是因为您使用了两次相同的ID值。 ID应该是一个元素所独有的。

使用类来定位需要应用相同样式/ js的多个元素,然后使用ID来定位特定元素。

答案 1 :(得分:0)

您可以尝试使用以下选择器来增加选择器的特异性编号;

var peso_totale_componenti = $("table tfoot tr th input#peso_totale_componenti").val();
alert(peso_totale_componenti);

其他元素在dom中可能具有相同的ID