Как получить все значения флажков в ячейках - PullRequest
0 голосов
/ 15 мая 2018

У меня есть таблицы данных jQuery с некоторыми флажками для предоставления привилегий. Мне нужно получить значения таблицы в массив. Пожалуйста, расскажите мне о том, как получать состояния флажков внутри ячеек, а не только проверенных. Спасибо.

Мой стол

 <table id="jqueryTable" name="tt" class="table table-striped table-bordered" cellspacing="0">
    <thead>
        <tr>
            <th name="id">
                ID
            </th>
            <th name="name">
                PRIV_Name_Str
            </th>
            <th name="create">
                Create
            </th>
            <th>
                Edit
            </th>
            <th>
                View
            </th>
        </tr>
    </thead>
<table>

Мой запрос с данными

function LoadProduct(element) {
$.ajax({
    url: '/ADM_MAS_Privilege/GetFormData',
    data: { YourValue: $('#productCategory').val() },
    method: 'post',
    dataType: 'json',
    success: function (data) {
        var table =   $('#jqueryTable').dataTable({
            paging: true,
            sort: true,
            searching: true,
            scrollY: 200,
            data: data,
            bDestroy: true,

            "columnDefs":
            [{
                "targets": [2, 3, 4],
                "render": function (data, type, row, meta) {
                    console.log("XX " + meta.row + " " + meta.col);
                    return type === 'display' ?
                        '<input type="checkbox" id="p" class="chk" name="group' + meta.row + '" /> ' + data :
                        data;
            columns: [{ "data": "ID", "ID": "ID", "autoWidth": true },
            {
                "data": "PRIV_Name_Str", "PRIV_Name_Str": "PRIV_Name_Str", "autoWidth": true
            },
            {
                "data": "Create", "Create": "Create", "autoWidth": true
            },
            { "data": "Edit", "Edit": "Edit", "autoWidth": true },
            {
                "data": "View"                 

            }

            ]
        });
    }
});

};

Моя функция jQuery для чтения данных

$('#upload').click(function () {
var table = document.getElementById("jqueryTable");
var tableArr = [];
for (var i = 1; i < table.rows.length; i++) {
    tableArr.push({

        ID: table.rows[i].cells[0].innerHTML,
        PRIV_Name_Str: table.rows[i].cells[1].innerHTML,

        Create: table.rows[i].cells[2].innerHTML,
        Edit: table.rows[i].cells[3].innerHTML,

        View: table.rows[i].cells[4].innerHTML

    });
}

});

Я попытался проверить table.rows [i] .cells [2] .innerHTML.getElementById ("p"). Даже если он не работает.

Ответы [ 2 ]

0 голосов
/ 15 мая 2018

Вы можете найти элемент и проверенное свойство в каждой ячейке:

for (var i = 1; i < table.rows.length; i++) {
    var cells = table.rows[i].cells;
    tableArr.push({
        ID: cells[0].innerHTML,
        PRIV_Name_Str: cells[1].innerHTML,
        Create: cells[2].querySelectorAll('input')[0].checked,
        Edit: cells[3].querySelectorAll('input')[0].checked,
        View: cells[4].querySelectorAll('input')[0].checked 
    });
}
0 голосов
/ 15 мая 2018

Поскольку вы используете jQuery:

document.getElementById("jqueryTable").each(function (index, element) {
  tableArr.push({
    ID: element.cells[0].innerHTML,
    PRIV_Name_Str: element.cells[1].innerHTML,

    Create: element.cells[2].innerHTML,
    Edit: element.cells[3].innerHTML,

    View: element.cells[4].innerHTML
  })
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...