[英]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.