Datatables Codeigniter - PullRequest
       18

Datatables Codeigniter

0 голосов
/ 16 октября 2019

Я использую таблицы данных serveride в codeigniter, я хочу, если входной фильтр пуст, datatable не возвращает данные. когда я нажимаю кнопку фильтра, и на входе появляются данные, данные приводят к выводу данных.

JS в представлении

$(document).ready(function() {

    //datatables
    table = $('#table').DataTable({

        "processing": true, //Feature control the processing indicator.
        "serverSide": true, //Feature control DataTables' server-side processing mode.
        "order": [], //Initial no order.

        // Load data for the table's content from an Ajax source
        "ajax": {
            "url": "<?php echo base_url('c_log/ajax_list')?>",
            "type": "POST",
            "data": function ( data ) {
                data.jurusan    = $('#jurusan').val();
                data.kelas      = $('#kelas').val();
                data.mapel      = $('#mapel').val();
                data.tahun      = $('#tahun').val();
                data.tanggal    = $('#tanggal').val();
            }
        },

        //Set column definition initialisation properties.
        "columnDefs": [
            {
                "targets": [ -1 ], //last column
                "orderable": false, //set not orderable
            },
        ],

    });

    $('#btn-filter').click(function(){ //button filter event click
        table.ajax.reload();  //just reload table
    });
    $('#btn-reset').click(function(){ //button reset event click
        $('#form-filter')[0].reset();
        table.ajax.reload();  //just reload table
    });
});

здесьпросмотр формы изображения

Ответы [ 2 ]

0 голосов
/ 16 октября 2019

Попробуйте

1002 *
0 голосов
/ 16 октября 2019

Вы можете сделать условие, чтобы проверить, являются ли входные данные пустыми, и установить пустую таблицу, если какой-либо из входных данных фильтра пуст:

$(document).ready(function() {

    // input variables
    let jurusan = $('#jurusan').val();
    let kelas = $('#kelas').val();
    let mapel = $('#mapel').val();
    let tahun = $('#tahun').val();
    let tanggal = $('#tanggal').val();


    //datatables
    table = $('#table').DataTable({

        "processing": true, //Feature control the processing indicator.
        "serverSide": true, //Feature control DataTables' server-side processing mode.
        "order": [], //Initial no order.

        // Load data for the table's content from an Ajax source
        "ajax": {
            "url": "<?php echo base_url('c_log/ajax_list') ?>",
            "type": "POST",
            "data": function(data) {
                data.jurusan = jurusan;
                data.kelas = kelas;
                data.mapel = mapel;
                data.tahun = tahun;
                data.tanggal = tanggal;
            }
        },

        //Set column definition initialisation properties.
        "columnDefs": [{
            "targets": [-1], //last column
            "orderable": false, //set not orderable
        }, ],

    });

    $('#btn-filter').click(function() { //button filter event click
        // check if one or more inputs are empty
        if (!jurusan || !kelas || !mapel || !tahun || !tanggal) {
            table.clear().draw(); // empty the table
        } else {
            table.ajax.reload(); //just reload table
        }
    });
    $('#btn-reset').click(function() { //button reset event click
        $('#form-filter')[0].reset();
        table.ajax.reload(); //just reload table
    });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...