JQuery Datatable: получить выбранные строки флажка - PullRequest
0 голосов
/ 15 марта 2019

У меня есть следующие данные. У него есть список столбцов. Последний столбец является флажком.

Я хочу получить список всех строк, для которых установлен флажок? Можно ли получить все строки данных с установленным флажком? мои данные как ниже

    $.fn.dataTable.moment('DD.MM.YYYY');
    $('#bankReconDataListing tbody').off('click');
   RECON_DATATABLE = $('#bankReconDataListing').DataTable({
    "language": __DT,
    "select": true,
    "order": [
        [1, "desc"]
    ],
    "searchable": true,
    "destroy": true,
    "sAjaxSource": '/bankReconciliationGetData?coa=' + coa + '&toDate=' + toDate + '&fromDate=' + fromDate,
    "sAjaxDataProp": "",
    "bLengthChange": false,
    "pageLength": 20,
    "aoColumns": [{ //document date : 0
    "mDataProp": null,
    { //Document type  //5
        //balance
        "mDataProp": null,
        render: function(data, type, row) {
            return data.doctype;
        }
    },
    render: function(data, type, row) {
        return "<input type='checkbox' name='" + checkBoxName + "' data-tableinput='checkbox'  " +
            "id='checkBox" + reconJrnlId + "' value='" + reconJrnlId + "' checked='checked' />";

    }
}],
    "columnDefs": [],
    "initComplete": function() {}
});

Ответы [ 2 ]

0 голосов
/ 15 марта 2019

Вы можете прикрепить обработчик событий к флажкам в таблице.При каждом нажатии флажка эта строка добавляется в массив.Если он не отмечен, вы удаляете его из массива.

Это не проверено, но что-то вроде этого должно работать:

let arr = [];

$("#tableDiv tbody").on("click", "input[type='checkbox']", function(e) {

    let row = $(this).closest('tr');

    // Get row data
    let data = table.row(row).data();

    if (this.checked) {

        // Add to array
        arr.push(data);

    } else {

        arr.splice(arr.indexOf(data), 1);

    }

});

#tableDiv - это просто контейнер таблицы.Вы можете использовать любой другой селектор в зависимости от вашего приложения.

0 голосов
/ 15 марта 2019

Дайте имя класса вашему столбцу флажка, скажем, checkboxclass. Тогда,

  $('.checkboxclass:checked',table.fnGetNodes()).each(function(){
        //what you want to do 
   }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...