我使用jQuery插件datatables来显示来自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
列的降序排列,但datatables会自动按升序排列该列。每当我单击第一行的锚点时,最后一行的数据就会显示在模式中。