Таблица начальной загрузки не распознает строки, созданные с использованием AJAX

Для справки:
Я работаю с Bootstrap стол используя Bootstrap v3.3.6
Я пытаюсь заполнить свою таблицу, используя AJAX и jQuery, но проблема в том, что когда я делаю это, ни одно из расширений начальной загрузки, похоже, не работает с этими строками.

Я работаю над таблицей данных, используя следующие расширения:

`<table id="table" data-toggle="table" data-pagination="true" data-search="true" data-show-columns="true" data-show-pagination-switch="true" data-show-refresh="true" data-key-events="true" data-show-toggle="true" data-resizable="true" data-cookie="true" data-cookie-id-table="saveId" data-show-export="true" data-click-to-select="true" data-toolbar="#toolbar">
<thead>
<tr>
<th data-field="state" data-checkbox="true"></th>
<th>ID</th>
<th>ISBN</th>
<th>Description</th>
</tr>
</thead>
<tbody id="books-data">
<!-- table data rows to be inserted here -->
</tbody>

`

Если я заполняю таблицу, используя PHP кажется, что все работает нормально, под словом «все» я подразумеваю отображение данных, а также автоматически добавленные атрибуты в строки таблицы при добавлении чекбокса в первый <td> а также data-index атрибут для каждого столбца в каждой строке.

Тем не менее, заполнение таблицы с помощью AJAX только заполняет таблицу данными, и взаимодействие между таблицей и ее строками отсутствует, атрибуты или флажки загрузочной таблицы не добавляются, а также кажется, что с этими строками не работают расширения (например, экспорт, выбор строк …)

Для более подробной информации:

  • При встраивании PHP код в столбцы таблицы:

исходный код :

while ($row = mysqli_fetch_array($result)){ ?>
<tr>
<td></td>
<td><?php echo $row['id'] ?></td>
<td><?php echo $row['isbn']; ?></td>
<td><?php echo $row['description']; ?></td>
</tr>
<?php } ?>

Сгенерированный код по загрузочной таблице:

<tr data-index="0">
<td class="bs-checkbox ">
<input data-index="0" name="btSelectItem" type="checkbox">
</td>
<td style>
<!-- data -->
</td>
<td style> <!-- the same thing... --> </td>
</tr>
  • При динамическом генерировании строк AJAX :

    <tr>
    <td></td>
    <td><!-- data --></td>
    <td><!-- data --></td>
    <td><!-- data --></td>
    </tr>
    
    • Используемая функция jQuery:

    $(function()
    {
    $.ajax({
    url:"fetch_books.php",
    method:"POST",
    dataType:"json",
    success:function(data)
    {
    for(let count=0; count<data.length; count++)
    {
    let html_data = '<tr><td></td>';
    html_data += '<td>'+data[count].id_livre+'</td>';
    $('#books-data').append(html_data);
    }
    }
    })
    });

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

0

Решение

Вы пытались использовать их метод для загрузки JSON вместо собственного JQuery?

От: https://bootstrap-table-docs3.wenzhixin.net.cn/getting-started/#usage-via-javascript

Msgstr «Мы также можем использовать данные удалённого URL, установив url: ‘data1.json’.

$('#table').bootstrapTable({
url: 'data1.json',
columns: [{
field: 'id',
title: 'Item ID'
}, {
field: 'name',
title: 'Item Name'
}, {
field: 'price',
title: 'Item Price'
}, ]
});
<table id="table"></table>
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]