Я хочу заполнить данные в DataTable по нажатию кнопки, по умолчанию он не должен отображать доступные данные - PullRequest
0 голосов
/ 16 ноября 2018

Я использую NodeJs

  • Я хочу заполнить данные нажатием кнопки.
  • Я читаю данные из текстового файла.

home.ejs

<button id="SearchButton" class="btn btn-info">Search</button>

<table class="table table-bordered" id="ctsdataTable" width="100%" cellspacing="0">
    <thead>
        <tr>
            <th>Check No.</th>
            <th>Tran Code</th>
            <th>ISN</th>
        </tr>
    </thead>
    <tfoot>
        <tr>
            <th>Check No.</th>
            <th>Tran Code</th>
            <th>ISN</th>
        </tr>
    </tfoot>
</table>

home.js

$(document).ready(function() {
    Table = $('#ctsdataTable').DataTable({
        "ajax": "js/data.txt",
        "columns": [{
                "data": "check_number"
            },
            {
                "data": "tran_code"
            },
            {
                "data": "isn"
            }
        ]
    });
}); 

Ответы [ 2 ]

0 голосов
/ 16 ноября 2018

Я нашел способ сделать это.

При повторной инициализации DataTable просто установите свойство "destroy": true

$(document).ready(function() {
$('#ctsdataTable').DataTable({
    "columns": [
        {"data": "session_date"},
        {"data": "session_number"},
        {"data": "r_session_number"},
        {"data": "account"},
        {"data": "amount"},
        {"data": "check_number"},
        {"data": "tran_code"},
        {"data": "isn"}
    ]
});

$('#SearchButton').on('click', function () {
    $('#ctsdataTable').DataTable( {
        "destroy": true,
        "ajax": "js/data.txt",
        "columns": [
            {"data": "session_date"},
            {"data": "session_number"},
            {"data": "r_session_number"},
            {"data": "account"},
            {"data": "amount"},
            {"data": "check_number"},
            {"data": "tran_code"},
            {"data": "isn"}
        ]
    });
});
});
0 голосов
/ 16 ноября 2018

Попробуйте это:

$(document).ready(function() {

var yourTable = $('#ctsdataTable').DataTable({
    "columns": [
        {"data": "check_number"},
        {"data": "tran_code"},
        {"data": "isn"}
    ]
});

$('#SearchButton').on('click', function () {
    $.ajax({
        url: "js/data.txt",
        success: function (entries) {
            if (!entries)
                return;

                entries.forEach(function (entry) {
                yourTable.row.add(entry);
            });

            yourTable.draw();
        }
    });
});});
...