Добавить строку html <TR>в таблицу - PullRequest
0 голосов
/ 19 марта 2019

Я пытался почти целый день!

У меня есть массив строк "<tr>...</tr>" для добавления в таблицу Datatables.Но каждый способ, который я пробовал, всегда приводит к тому, что все [object HTMLTableRowElement] выталкиваются в 1-ю колонку .

Как я должен это делать?Можете ли вы помочь?

Что у меня есть:

var table = $j('#table_view_subs').DataTable();

var fakehtml = '<tr><td> 1 </td> <td> 2 </td> <td> 3 </td> <td> 4 </td> <td> 5 </td></tr>';

table.row.add($(fakehtml)).draw();

Я пытался создать элемент с помощью JavaScript, добавить HTML и row.adding это.Также пробовал кучу других вещей, я даже не знаю, х (

Хорошо, вот скрипка !

Ответы [ 2 ]

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

Datatables row.add() Функция API может принимать узел JQuery в качестве аргумента.Вы могли бы что-то вроде этого:

strArray.forEach(function(el){
    table.row.add($(el));
});
table.draw();

Предполагая, что strArray является массивом строк, и каждая строка представляет элемент <tr>, это должно работать.

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

Я удалил HTML и вместо этого предоставил входной массив для столбцов.

Рабочий пример: https://jsfiddle.net/vpjmzc6k/

$(document).ready( function () {
    const table = $('#table_view_subs').DataTable(),
    input = [1,2,3,4,5,6];

    table.row.add(input).draw();
} );

<table id="table_view_subs">
 <thead>
            <tr>
                <th>Name</th>
                <th>Position</th>
                <th>Office</th>
                <th>Age</th>
                <th>Start date</th>
                <th>Salary</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td>Tiger Nixon</td>
                <td>System Architect</td>
                <td>Edinburgh</td>
                <td>61</td>
                <td>2011/04/25</td>
                <td>$320,800</td>
            </tr>
            </tbody>
</table>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...