分页不一致/有效

时间:2015-07-15 05:01:47

标签: jquery jquery-ui datatables jquery-pagination jquery-ui-plugins

我在客户端提供了8000行JSON格式的数据,在用JavaScript对数据库进行Ajax调用之后,我需要填充到HTML表格中进行显示。

我正在尝试运行下面的代码但是我面临以下问题: 由于我有大量数据,当我在Web界面上查询时,会进行多次Ajax调用以从数据库中提取数据并在HTML页面上显示相同的数据。

我面临以下问题:

  1. 只有在结果非常大时才会看到分页
  2. 当分页出现时,所有数据首先加载到页面上,而不是每页10或25,因此我的jQuery脚本变得没有响应。但在我切换分页大小filter-10,25,50或100之后,会显示正确数量的结果。
  3. 我正在尝试的代码如下。

    HTML:

        <table id="tableprint" class="data-grid" size="50">
          <thead>
            <tr>
              <th>Name</th>
              <th>Age</th>
              <th>Profession</th>
              <th>Address</th>
              <th>Comments</th>
            </tr>
          </thead>
        </table>
    

    JAVASCRIPT:

    success: function(data) {
       $('#tableprint').dataTable({
          "aaData": jsonArrayOfjsonObjects.json, //this is a json with 8000 table rows of data
          "aoColumnsDef": [{
             "mData": "name"
          }, {
             "mData": "age"
          }, {
             "mData": "profession"
          }, {
             "mData": "address"
          }, {
             "mData": "comments",
             "defaultContent": "Empty"
          }, ],
          "bDestroy": true
       }).fnDestroy();
    
       $('#tableprint').dataTable({
          "bDestroy": true
       }).fnDestroy();
    }
    

    仅供参考,我正在销毁数据表实例,因为我收到了“无法重新实现DataTable”错误,这是推荐的解决方案。

       $.ajax({
            type : 'POST',
            url : 'sendData',
            data : { //Send form data to the Servlet
                sid : sid,
                mpid : mpid
            },
            success : function(data) {
                $('#tableprint').dataTable({
                   "aaData" : data.ActionsArr,
                   "bPaginate":"true",
                   "sPaginationType":"full_numbers",
                   // etc..
            }
    
    每次用户点击表单上的提交按钮时,都会调用上面的Ajax帖子,其中sidmpid值不同。

    包含的JS文件:

    <script src="http://code.jquery.com/jquery-latest.js"></script>
    <script src="https://cdn.datatables.net/1.10.7/js/jquery.dataTables.min.js"></script>
    

0 个答案:

没有答案