0

如果我更新 fnServerParams() 中的某些参数,DataTables 表示层不会考虑它们,知道吗?

例如,假设 iDisplayStart=10 和 iDisplayEnd=20 是正确的值

'fnServerParams': function (aoData) {
    // Find i such as aoData[i]['name'] == 'iDisplayStart'
    aoData[i]['value'] = 10;
    // Find j such as aoData[j]['name'] == 'iDisplayEnd'
    aoData[j]['value'] = 20;
},

然后分页按钮仍然停留在第 1 页,而我希望它显示我的数据的第 2 页。排序参数也是如此。

编辑:初始化代码如下:

var oTable = $('#WEB_TABLE_ID').dataTable(
                       {'aaSorting': [[0, 'desc']],
                        'bProcessing': true,
                        'bServerSide': true,
                        'sAjaxSource': '../subscription/search_list.php',
                        'sServerMethod': 'POST',
                        'sPaginationType': 'full_numbers',
                        'iDisplayLength': 100,  // Default number of rows to display
                        'oLanguage': {'sSearch': "Search all",
                        'sLengthMenu': 'Display <select>   \
<option value="10">10</option>                             \
<option value="100">100</option>                           \
<option value="500">500</option>                           \
</select> entries',},
                        'bAutoWidth': false,
                        'sDom': "<'row'<'span8'l><'top'i>r>t<'row'<'bottom'i><'span8'p>>"
                        'fnServerParams': function (aoData) {
                            var sEcho = aoData[0].value;
                            if ('1' == sEcho) {
                                var params = <?=json_encode(Session::read(${CTL_DATAID}))?>;
                                if (! $.isEmptyObject(params)) {
                                    aoData.length = 0; // empty array
                                    $.each(params, function(name, value) {
                                        aoData.push({'name': name, 'value': value});
                                    });
                                }
                            }
                        },
);
4

1 回答 1

0

对于我的问题,我没有直接的解决方案,但是因为它是为了保存 DataTable 的状态,所以我遇到了可以完成这项工作的 bStateSave 选项。

于 2012-07-17T08:49:39.953 回答