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) {
                        
                    }
                }
            ]
        });

    })
3
  • Have you checked this question? stackoverflow.com/questions/29191760/…. Shows how to get the selected rows. Commented Aug 9, 2022 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. Commented Aug 9, 2022 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 Commented Aug 10, 2022 at 8:59

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.