在数据表中的 <td> 内添加输入
adding input inside <td> in datatables
首先,我使用 datatables.net 插件创建了一个 table,其中数据由 ajax 获取,这是源代码
var dtBasicExample = $("#dtBasicExample").DataTable({
paging: true,
lengthChange: true,
searching: true,
ordering: true,
info: true,
autoWidth: true,
responsive: true,
columnDefs: [
{
orderable: false,
className: "select-checkbox",
targets: 0,
},
],
select: {
style: "single",
selector: "td:first-child",
},
order: [[1, "asc"]],
ajax: "/api/view_excel",
columns: [
{ data: "null" },
{ data: "NB" },
{ data: "NAMAPEMOHON" },
{ data: "ALAMATPEMOHON" },
{ data: "DI 302/303" },
{ data: "DI305" },
{ data: "JML BLANKO" },
{ data: "NAMAPROSEDUR" },
{ data: "SERIAWAL" },
{ data: "SERIAKHIR" },
{ data: "KETERANGAN" },
],
});
上面的源代码是正确的。我的问题是,是否可以在 <td>
标签内添加 input:text
标签?所以 table 中的所有数据都将在 POST Request
上发送
我尝试了一些小实验,例如像下面的代码一样使用 columnDefs
columnDefs: [
{
targets: -1,
render: function (data, type, row) {
var checkbox = '<input type="text" value="' + data.NB + '">';
return checkbox;
},
},
],
但是,它没有用,对我的问题有什么建议吗?谢谢
最后,像这样在列列表中使用渲染
var dtBasicExample = $("#dtBasicExample").DataTable({
paging: true,
lengthChange: true,
searching: true,
ordering: true,
info: true,
autoWidth: true,
responsive: true,
columnDefs: [
{
orderable: false,
className: "select-checkbox",
targets: 0,
},
],
select: {
style: "single",
selector: "td:first-child",
},
order: [[1, "asc"]],
ajax: "/api/view_excel",
columns: [
{ data: "null" },
// { data: "NB" },
{
data: "NB",
render: function (data, type, row, meta) {
return (
'<input type="text" name="col1[]" style="border:0;outline:0;display:inline-block" value="' +
data +
'">'
);
},
},
{ data: "NAMAPEMOHON" },
{ data: "ALAMATPEMOHON" },
{ data: "DI 302/303" },
{ data: "DI305" },
{ data: "JML BLANKO" },
{ data: "NAMAPROSEDUR" },
{ data: "SERIAWAL" },
{ data: "SERIAKHIR" },
{ data: "KETERANGAN" },
],
});
首先,我使用 datatables.net 插件创建了一个 table,其中数据由 ajax 获取,这是源代码
var dtBasicExample = $("#dtBasicExample").DataTable({
paging: true,
lengthChange: true,
searching: true,
ordering: true,
info: true,
autoWidth: true,
responsive: true,
columnDefs: [
{
orderable: false,
className: "select-checkbox",
targets: 0,
},
],
select: {
style: "single",
selector: "td:first-child",
},
order: [[1, "asc"]],
ajax: "/api/view_excel",
columns: [
{ data: "null" },
{ data: "NB" },
{ data: "NAMAPEMOHON" },
{ data: "ALAMATPEMOHON" },
{ data: "DI 302/303" },
{ data: "DI305" },
{ data: "JML BLANKO" },
{ data: "NAMAPROSEDUR" },
{ data: "SERIAWAL" },
{ data: "SERIAKHIR" },
{ data: "KETERANGAN" },
],
});
上面的源代码是正确的。我的问题是,是否可以在 <td>
标签内添加 input:text
标签?所以 table 中的所有数据都将在 POST Request
我尝试了一些小实验,例如像下面的代码一样使用 columnDefs
columnDefs: [
{
targets: -1,
render: function (data, type, row) {
var checkbox = '<input type="text" value="' + data.NB + '">';
return checkbox;
},
},
],
但是,它没有用,对我的问题有什么建议吗?谢谢
最后,像这样在列列表中使用渲染
var dtBasicExample = $("#dtBasicExample").DataTable({
paging: true,
lengthChange: true,
searching: true,
ordering: true,
info: true,
autoWidth: true,
responsive: true,
columnDefs: [
{
orderable: false,
className: "select-checkbox",
targets: 0,
},
],
select: {
style: "single",
selector: "td:first-child",
},
order: [[1, "asc"]],
ajax: "/api/view_excel",
columns: [
{ data: "null" },
// { data: "NB" },
{
data: "NB",
render: function (data, type, row, meta) {
return (
'<input type="text" name="col1[]" style="border:0;outline:0;display:inline-block" value="' +
data +
'">'
);
},
},
{ data: "NAMAPEMOHON" },
{ data: "ALAMATPEMOHON" },
{ data: "DI 302/303" },
{ data: "DI305" },
{ data: "JML BLANKO" },
{ data: "NAMAPROSEDUR" },
{ data: "SERIAWAL" },
{ data: "SERIAKHIR" },
{ data: "KETERANGAN" },
],
});