【问题标题】:Passing data to input form inside cell datatable when checkbox selected选中复选框时将数据传递到单元格数据表内的输入表单
【发布时间】:2022-02-10 15:50:11
【问题描述】:

I have a checkbox on a table, where when that checkbox is selected it will pass data in the "sisa" variable.在控制台日志中,我设法显示了“sisa”数据。但是如何在下一列(“diterima”列)的输入表单中提交“sisa”数据。此复选框是多选,因此您可以一次选择多个。

截图: https://i.postimg.cc/qq7CpVrf/error.png

我的数据表

$('#produkTabel').DataTable({
    "aaData": response.result,
    "columns": [

        {
            "data": "id", "class": "text-center",
            render: function (data, type, row, meta) {
                return meta.row + meta.settings._iDisplayStart + 1;
            }
        },
        {"data": "produk.item_code"},
        {"data": "produk.name"},
        {"data": "jumlah", "class": "text-center"},
        {"data": "sisa", "class": "text-center"},
        {"data": "id", "class": "text-center", render: function ( data,row) {
                return '<input type="number"  id="inputID" class="open-input form-control bg-white" value="0">';
            },},
        {
            "data": "id",
            "class": "text-center",
            'searchable': false,
            'orderable': false,
            render: function ( data, type ,row ) {
                if ( type === 'display' ) {
                    return '<input type="checkbox" data-sisa="'+row.sisa+'" class="editor-active">';
                }
                return data;
            },
            className: "dt-body-center"
        },
    ],
    "bDestroy": true,
});

我的 Jquery

$('body').on('change', 'input[type="checkbox"]', function() {
    // var tblData = table.rows('.selected').data();
    let sisa = $(this).data('sisa');
    // console.log(tblData);
    // var inputForm = $(this).'input[type="number"]';
    // $('.open-input').val(sisa);
    // this.checked ? inputForm.val(sisa) : inputForm.val(0);
    console.log(sisa);
});

【问题讨论】:

  • 如果我错了,请纠正我,你想在这个页面上提交“sisa”并将值从“sisa”转移到下一页的“diterima”吗?你是用 PHP 和 ajax 做的吗?如果是,您需要为所有选中的复选框执行类似的操作---&amp;sisa[]=checkbox1&amp;sisa[]=checkbox2 等等。在 jquery 中使用 for 循环在 sisa 数组中添加所有值
  • 谢谢@RaoDYC,当复选框检查到表单输入“diterima”时,我想传递数据sisa,它已经成功将数据传递到console.log(sisa),但我不知道如何传递它进入输入表单。

标签: javascript php jquery checkbox datatable


【解决方案1】:

$("#inputID").val(sisa);

在你的脚本中试试这个......如果有错,请见谅

【讨论】: