Настройте jQuery DataTable для получения настраиваемой строки события CheckBox - PullRequest
0 голосов
/ 25 мая 2018

Я пытаюсь изменить jQuery DataTable с помощью пользовательского столбца CheckBox .Мое требование состоит в том, чтобы добавить CheckBox к каждой строке таблицы и добавить событие щелчка с соответствующими флажками строки, поэтому всякий раз, когда я нажимаю на флажки, он должен показывать связанные данные строки или получать данныев базу данных.Я могу получить данные с помощью Ajax вызова из базы данных и сделать с помощью CheckBoxes .Я следовал этому уроку, чтобы он работал, и теперь он работает нормально: jQuery DataTable с флажками Это то, что я до сих пор делал в серверной части:

public JsonResult GetData()
{
   var result = db.Doctors.Select(c => new
   {
      FirstName = c.Firstname,
      LicenseNo = c.LicenseNo
   }).ToList();

   return Json(new { data = result }, JsonRequestBehavior.AllowGet);
}

В пользовательской части:

<link href="https://cdn.datatables.net/s/dt/dt-1.10.10,se-1.1.0/datatables.min.css" rel="stylesheet" />
<link href="https://gyrocode.github.io/jquery-datatables-checkboxes/1.2.6/css/dataTables.checkboxes.css" rel="stylesheet" />

<script src="~/Scripts/jquery-1.10.2.min.js"></script>
<script src="https://cdn.datatables.net/s/dt/dt-1.10.10,se-1.1.0/datatables.min.js"></script>
<script src="https://gyrocode.github.io/jquery-datatables-checkboxes/1.2.6/js/dataTables.checkboxes.min.js"></script>
<script>
    $(document).ready(function () {
        var table = $('#example').DataTable({
            "ajax": {
                url: '@Url.Action("GetData")',
                type: "get",
                datatype: "json",
                data: {}
            },

            "columnDefs": [
                   {
                       'targets': 0,
                       'checkboxes': {
                           'selectRow': true
                       }
                   }
            ],

            "columns": [
                { "data": "FirstName" },
                { "data": "FirstName" },
                { "data": "LicenseNo" }
            ],

            'select': {
                'style': 'multi'
            },
            'order': [[1, 'asc']]
        });
    });
</script>

<body>
    <div>
        <hr><br>
        <form>
            <table id="example" class="display" cellspacing="0">
                <thead>
                    <tr>
                        <th></th>
                        <th>Name</th>
                        <th>License No</th>
                    </tr>
                </thead>
            </table>
            <hr>
        </form>
    </div>
</body>

Теперь вопрос заключается в том, как добавить флажоксобытия клика в jQuery DataTable.Поэтому всякий раз, когда я нажимаю флажки, я могу получить соответствующие подробности строки.

NB : я провел небольшие исследования и разработки и проверил, что CheckBox дан класс с именем dt-checkboxes .Это генерируется динамически.Есть ли способ, которым я могу сделать это в соответствии с моим требованием, как назначение уникальных идентификаторов для флажков, немного застрял здесь.Вот как это выглядит - достаточно просто:

jQuery DataTable

1 Ответ

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

Вы можете использовать прослушиватели событий для событий select и , чтобы отменить выбор .

table.on( 'deselect', function ( e, dt, type, indexes ) {
   //get the row information for the row deselected.
   console.log(dt.row(indexes).data());
});
table.on( 'select', function ( e, dt, type, indexes ) {
   //get the row information for the row selected.
   console.log(dt.row(indexes).data());
});

Приведенный выше фрагмент кода предоставит вам данные для строки, которая былавыбран или отменен.

I разветвил вашу скрипку , чтобы продемонстрировать ее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...