我有一个使用以下代码的jquery数据表:
// Test list table
$('#dashboard_testlist_table').dataTable({
"bJQueryUI": true,
"bAutoWidth": false,
"bProcessing": true,
"aaSorting": [[0, 'asc'], [2, 'asc']],
"sPaginationType": "full_numbers",
"sAjaxSource": projectTestListTablePopulateUrl,
"oLanguage": {
"sSearch": "Search all columns:"
},
"aoColumns": [{
"sTitle": "Protocol/Test/Case"
}, {
"sTitle": "Last Run"
}, {
"sTitle": "Last Build/Phase"
}, {
"sTitle": "Detail",
"sClass": "center"
}, {
"sTitle": "Owner"
}]
});
我的服务器正确发送回JSON,表格按预期填充。
我遇到的问题是我无法在表格中进行任何过滤。搜索框中的任何字符都会立即过滤到没有显示的结果。我使用了很多数据表,这个让我发疯。
我注意到当我“查看页面源”时,源中没有呈现的html。这是我原来的HTML:
<!--Test List Table-->
<table id="dashboard_testlist_table" class="display">
<!--Table Header-->
<thead>
<tr>
<th>Protocol/Test/Case</th>
<th>Last Run</th>
<th>Last Build/Phase</th>
<th>Detail</th>
<th>Owner</th>
</tr>
</thead>
<tbody>
<!--Table Body, ajax populated, see /media/custom_js/user_dashboard.js -->
</tbody>
</table>
加载页面后,它仍然显示相同的内容。是否应该在那里填充发送的JSON数据?
否则,是否有人对过滤此数据首先要查找的内容有任何建议?我正在使用jquery datatables 1.6.2。
答案 0 :(得分:0)
您是否在服务器端页面中使用了搜索查询
像这样提出
if ( $_GET['sSearch'] != "" )
{
$sWhere = "WHERE engine LIKE '%".mysql_real_escape_string( $_GET['sSearch'] )."%' OR ".
"browser LIKE '%".mysql_real_escape_string( $_GET['sSearch'] )."%' OR ".
"platform LIKE '%".mysql_real_escape_string( $_GET['sSearch'] )."%' OR ".
"version LIKE '%".mysql_real_escape_string( $_GET['sSearch'] )."%' OR ".
"grade LIKE '%".mysql_real_escape_string( $_GET['sSearch'] )."%'";
}
答案 1 :(得分:0)
实际上,这个问题最终成为我在JSON(链接)中传递的一些html,该JSON被放入表中的td
个元素之一。它是畸形的,并导致头痛。