0

I have a DataTables with a checkbox column on the 1st column of the DataTables, I need to get the data value of checked row, so for example:

checkBox  simsPid  ICCID  IMEI
--------  -------  -----  ----
             1     98789  AABBCC
    x        2     18729  A3B4C5

I need to get the data values of checked row (in my use case above, I need to get simsPid, ICCID, and IMEI)

I have tried codes below, I have got checked rows but I don't have an idea on how to get the value?

I need advice.

$('#sims').DataTable({
            destroy: true,
            responsive: true,
            info: false,
            autoWidth: false,
            filter: true,
            lengthChange: false,
            paging: false,
            searching: true,
            order: [1, 'asc'],
            ajax: {
                url: '@Models.AppSettings.Path.Deployment' + '/SIM/List/', 
                dataSrc: ''
            },
            columns: [
                {
                    'data': null,
                    'defaultContent': '',
                    'targets': 0,
                    'checkboxes': {
                        'selectRow': true
                    }
                },
                { data: 'simsPid', visible: false },
                { data: 'iccid', className: 'text-left', width: '10%', responsivePriority: 1 },
                { data: 'imei', className: 'text-left', orderable: true, width: '10%', responsivePriority: 2 }
            ],
            dom: '<"card-header border-bottom p-1"<"head-label"><"dt-action-buttons text-end"B>><"d-flex justify-content-between align-items-center mx-0 row"<"col-sm-12 col-md-6"l><"col-sm-12 col-md-6"f>>t<"d-flex justify-content-between mx-0 row"<"col-sm-12 col-md-6"i><"col-sm-12 col-md-6"p>>',
            buttons: [
                {
                    text: 'Set Status',
                    className: 'btn btn-outline-warning',
                    action: function(e, dt, node, config) {

                        var client_table = $('#sims').dataTable();

                        var rows = $(client_table.$('input[type="checkbox"]').map(function() {
                            return $(this).prop("checked") ? $(this).closest('tr') : null;
                        }));

                // here I got the rows, but I don't know how to get the value of simsPid. iccid, and imei


                        $.each(rows, function(index, rowId) {
                       

                        });

                    }
                },
                {
                    text: 'Discard',
                    className: 'btn btn-outline-secondary',
                    action: function(e, dt, node, config) {
                        
                    }
                }
            ]
        });

    })
Dev
  • 107
  • 6
  • Have you checked this question? https://stackoverflow.com/questions/29191760/jquery-datatables-getting-selected-row-values. Shows how to get the selected rows. – Tasos K. Aug 09 '22 at 11:06
  • yes, but it's bit different with my issue, they use .selected and neither mine, actually I already got the number of checked but the problem is I don't know how to get the data values of the checked items. – Dev Aug 09 '22 at 12:01
  • its simple, just enable the use of `data-*` attribute and u make a function for the checkbox to get the data by the `data-*` attribute – Kopi Bryant Aug 10 '22 at 08:59

0 Answers0