Это моя первая попытка в jQuery datatables.
Я пытаюсь заполнить html-таблицу данными из php, используя jQuery datatables.
Приведенный ниже код застревает при Loading data from server
.
Любые идеи, какие изменения мне нужно сделать, чтобы сделать эту работу?
<link rel="stylesheet" type="text/css" href="css/header.css">
<div id="container">
<div style="width:680px">
<table id="tbDetails" cellpadding="0" cellspacing="0" id="example">
<thead style="background-color:#DC5807; color:White; font-weight:bold;font-size:10pt;">
<tr style="border:solid 1px #000000">
<th width="5%">ID</th>
<th width="10%">Date</th>
<th width="10%">Request Status</th>
<th width="15%">Requestor FullName</th>
<th width="15%">Requestor WorkPhone</th>
<th width="15%">Requestor Email</th>
<th width="15%">Primary SiteContact</th>
<th width="15%">Secondary SiteContact</th>
</tr>
</thead>
<tbody>
<tr>
<td colspan="8" class="dataTables_empty">Loading data from server</td>
</tr>
</tbody>
</table>
</div>
<div class="spacer"></div>
</div>
<style type="text/css">
@import "jquery/dataTables/media/css/jquery-ui.css";
@import "jquery/datatables/media/css/demo_table.css";
td{padding-right:30px;}
.row_selected{color: gray;}
</style>
<script type="text/javascript">
$(document).ready(function() {
var what = "customer";
/* Init DataTables */
var oTable = $('#example).dataTable({
"bJQueryUI" : true,
//"bProcessing" : true,
"bServerSide" : true,
"sPaginationType" : "RequestID",
"sAjaxSource" : "filltable.php",
"aoColumns" : [{
"sClass" : "center",
"bSortable" : false,
}, {
"sName" : "RequestID",
"mData" : "2"
}, {
"sName" : "RequestDate",
"mData" : "3"
}, {
"sName" : "RequestStatus",
"mData" : "4"
}, {
"sName" : "RequestorFullName",
"mData" : "5"
}, {
"sName" : "RequestorWorkPhone",
"mData" : "6"
}, {
"sName" : "RequestorEmail",
"mData" : "7"
}, {
"sName" : "PrimarySiteContactDisplay",
"mData" : "8"
}, {
"sName" : "SecondarySiteContactDisplay",
"mData" : "9"
}],
"aaSorting" : [[1, 'RequestDescription']]
})
});
</script>
Спасибо заранее
По какой-то причине, может быть, мой браузер Add commnt
, он больше не позволяет мне нажать Add commnt
.
В любом случае, спасибо, что указали это. Я не знаю, почему он исчез после моего поста.
Мой код имеет отметки.
Излишне говорить, что это не проблема.
Эдуардо, простите меня. по какой-то причине, только сегодня, это не позволяет мне добавлять комментарии.
так что я делаю это здесь. Может быть, старый браузер.
Я думаю, что то, как я это делаю, должно работать.
Итак, я действительно не знаю, в чем проблема.
Я попытаюсь изменить ваше предложение, но не уверен, что решение здесь.
В этой строке отсутствует заключительная цитата -
var oTable = $('#example).dataTable({
Должен быть -
var oTable = $('#example').dataTable({
Вам нужно вернуть ответ сервера в определенном формате, также, если цитата отсутствует, как @Jay Blanchard говорит, что это не сработает. но если это была опечатка, возможно, ответ, который вы отправляете обратно с вашего php-скрипта
"sAjaxSource" : "filltable.php"
Неправильно, посмотрите документацию
Также в aaSoring вам нужно указать индекс столбца, а затем желаемый порядок
[[1, 'desc']]
[[1, 'asc']]
Я не понял, что вы используете mData для сопоставления своих столбцов с свойствами JSON, которые мне плохо, если вы пытаетесь сделать ваши столбцы соответствующими индексу данных на объекте JSON, вам нужно установить целое число, иначе оно попытается искать что-то подобное
{"2":"Your val"}
Установка mData с целым числом будет искать индекс, возможно, поэтому он останавливается на загрузке данных с шага сервера.