繁体   English   中英

jQuery Datatable,将文本框的值输出到所选行的列

[英]jQuery Datatable, Outputting values of textboxes to selected row's columns

我目前有一个jQuery Datatable,在单击该行时,该行中的数据将输出到文本框和选择框。 我试图做到这一点,以便在按下保存行按钮后,将在文本框中输入的所有内容保存/输入到选定的行中。

这里是我的jsfiddle: 的jsfiddle

Javascript:

var table = $('#example').DataTable();

(function () {
      var table = document.querySelector('#example');
      var name = document.querySelector('#nameinput');
      var format = document.querySelector('#formatinput');
      var address = document.querySelector('#addressinput');
      var report = document.querySelector('#reportinput');
      var alarm = document.querySelector('#alarminput');



      table.addEventListener('click', onTableClick);

      function onTableClick (e) {
        var tr = e.target.parentElement;

        var data = [];
        for (var td of tr.children) {
          data.push(td.innerHTML);
        }

        name.value = data[0];
        address.value = data[1];
        format.value = data[2];
        report.value = data[3];
        alarm.value = data[4];
        console.log(alarm.value);


      }
        $("#saverow").click(function() {
            var table1 = $('#data-table').DataTable();
            var data = [];
            data[0] = name.value;
            data[4] = alarm.value;
            console.log(name.value);
            console.log(alarm.value);

            table1.draw(true);
        });


})();`

通过保存行代码,我认为通过尝试使列等于文本框的值,然后重绘表将起作用。 当您在文本框中键入新内容,然后按保存时,控制台确实具有正确的输出。 我只是不知道如何将其放回所选的行。 如果可能的话,我不想进行内联编辑。 尝试使其保持这种格式。

我不知道这是否可以作为答案,但是您实际上并没有在保存行单击中对该data变量执行任何操作。 您获取数据表,不做任何更改,然后重新绘制它。 因此,什么也没有发生就不足为奇了。

看到您的小提琴所做的此更改,以使行添加:

https://jsfiddle.net/o92g9goL/14/

首先,您需要将表和数据表设置为不同的数组。 也可以在main函数中执行此操作。 您还需要实际添加以下代码:

datatable.row.add(data).draw(false);

至于编辑,您需要确保您不仅要预先填充该行,还要实际引用该行,否则它将如何知道如何对其进行更新?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM