Я использую таблицы данных плагина jQuery для отображения данных из базы данных MySQL.Код, который я использую для инициализации таблицы данных:
// Setup the broadcast datatable
var broadcasts = $('#table_broadcasts').DataTable({
ajax: {
url: "../assets/php/get_reports_broadcasts.php",
dataSrc: ''
},
columns: [
{ data: 'date_approved', title: 'Date Sent' },
{ data: 'subject', title: 'Subject Line' },
{ data: 'name', title: 'Business(es) Approved', searchable: false, createdCell:
function (td, cellData, rowData, row, col) {
$(td).html('<a type="button" class="btn btn-primary text-white" data-toggle="modal" data-target="#modal_broadcasts">View Approved</a>');
}
}
]
});
Это работает, как и ожидалось, так как отображает все данные, кроме последнего столбца, вместо этого он отображает тег привязки, который в конечном итоге запускает модальный режим.Для чего стоит, вот код, который я использую при запуске модального режима:
$(document).on('click', '#table_broadcasts td a', function() {
// Get the data at the clicked row
var data = broadcasts.row($(this).closest('tr').index()).data();
var subject = data.subject;
var businesses = data.name;
// Set the data in the modal
$('#modal_broadcasts_subject').text(subject);
$('#modal_broadcasts_businesses').html('<li>' + businesses + '</li>');
});
Проблема, с которой я сталкиваюсь, заключается в том, что данные для соответствующего якоря не сортируются с остальнымиданные.Под этим я подразумеваю, что при поступлении данных они сортируются по столбцу date_approved
в порядке убывания, но таблицы данных автоматически возвращают столбец в порядке возрастания.Всякий раз, когда я нажимаю на якорь для первой строки, данные для последней строки отображаются в модальном режиме.