使用twbs Pagination插件通过ajax更新smarty变量

时间:2016-12-27 11:25:13

标签: php jquery ajax pagination smarty

我正在使用twbs分页插件,每次点击页码时,都会触发一个ajax调用,并且每页提取10个结果。 在页面上传中,前10个结果被提取并分配给smarty变量。

这是tpl文件。我将获取的数组从php分配给变量batchesData并使用foreach循环迭代它以表格形式显示它

 <table class="table table-striped projects tablesorter" 
  id="batchTable" style="font-size: 13px;">
 <th>
 .....
 .....
 </th>
 <tbody>
 {if !empty($batchesData)}
 {foreach from = $batchesData key = filter item = value}
 <tr>
 ......
 ......
 </tr>
 {/foreach}
  </tbody>
 </table>

现在点击页面,这里是我的js代码,我可以根据php中的页面来获取数组但是我如何更新它因为我想聪明的执行是在ajax调用之前完成的。请建议

    $(function () {
        window.pagObj = $('#pagination').twbsPagination({
            totalPages: 35,
            visiblePages: 10,
            onPageClick: function (event, page) {
                $.ajax({
                    type : 'POST',
                    url : '/mbatch/batch/listBatch',
                    data : {
                        page: page,
                    },
                    beforeSend : function() {

                    },
                    success : function(response) {
                    /* Handling */
                    },
                    error : function(data) {
                        new PNotify({
                            title: 'Notice',
                            text: JSON.parse(data.responseText).message,
                            type: 'error',
                            styling: 'bootstrap3'
                        }); 
                    }
                });
            }
        }).on('page', function (event, page) {
        });
    });

任何线索都将受到高度赞赏。这是插件链接 http://www.jqueryscript.net/demo/Simple-Customizable-Pagination-Plugin-with-jQuery-Bootstrap-Twbs-Pagination/

1 个答案:

答案 0 :(得分:2)

试试这个:

     $(function () {
    window.pagObj = $('#pagination').twbsPagination({
        totalPages: 35,
        visiblePages: 10,
        onPageClick: function (event, page) {
            $.ajax({
                type : 'POST',
                url : '/mbatch/batch/listBatch',
                data : {
                    page: page,
                },
                beforeSend : function() {

                },
                success : function(response) {
                $("#batchTable").empty();//clearing the current table rows
                var dataRes=JSON.parse(response);
                var resultCount=dataRes.length; //Assuming result set in array form.
                //now creating row for each result set and appending to table
                $.each(dataRes,function(index,value){
                $("#batchTable").append("<tr>
               <td>"+
              value.item1+" 
              </td>
              <td>"+
              value.item2+"
              </td>
               </tr>")
                })
                },
                error : function(data) {
                    new PNotify({
                        title: 'Notice',
                        text: JSON.parse(data.responseText).message,
                        type: 'error',
                        styling: 'bootstrap3'
                    }); 
                }
            });
        }
    }).on('page', function (event, page) {
    });
});

假设您的回复将采用json格式。在success功能

中相应地设置您的格式