Фильтрация неполадок с данными, заполненными Ajax, с помощью Jquery Datatables - PullRequest
0 голосов
/ 28 марта 2011

У меня есть данные 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.

Ответы [ 2 ]

0 голосов
/ 09 мая 2011

На самом деле проблема заключалась в том, что я использовал какой-то html-код в JSON (ссылка), который был помещен в один из элементов td в таблице. Это было неправильно сформировано и вызывало головную боль.

0 голосов
/ 11 апреля 2011

Вы использовали поисковый запрос на странице вашего сервера

Например, вот так

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'] )."%'";


}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...