josecebe / twbs-pagination

jQuery pagination plugin (bootstrap powered)
http://josecebe.github.io/twbs-pagination/
Other
1.1k stars 405 forks source link

Problem with onPageClick? #152

Closed akaadir closed 6 years ago

akaadir commented 7 years ago

Hi @esimakin,

Can you plz help me fix this issue.

onPageClick event never fires after i destroy and initialize new options like totalpages, Below is my code.

   function ShowPages(update, TotalPages) {

        if (update) {

            var $pagination = $('#pagination');
            var defaultOpts = {
                totalPages: 10
            };

            var currentPage = $pagination.twbsPagination('getCurrentPage');
            $pagination.twbsPagination('destroy');
            $pagination.twbsPagination($.extend({}, defaultOpts, {
                startPage: currentPage,
                totalPages: TotalPages,
                first: '<span> <i class="ace-icon fa fa-angle-double-left bigger-140"></i> </span>',
                prev: '<span> <i class="ace-icon fa fa-angle-left bigger-150"></i></i></span>',
                next: '<span>  <i class="ace-icon fa fa-angle-right bigger-150"></i></i></span>',
                last: '<span> <i class="ace-icon fa fa-angle-double-right bigger-140"></i></span>'
            }));
        }
        else {
            $('#pagination').twbsPagination({
                totalPages: TotalPages,
                visiblePages: 7,
                first: '<span> <i class="ace-icon fa fa-angle-double-left bigger-140"></i> </span>',
                prev: '<span> <i class="ace-icon fa fa-angle-left bigger-150"></i></i></span>',
                next: '<span>  <i class="ace-icon fa fa-angle-right bigger-150"></i></i></span>',
                last: '<span> <i class="ace-icon fa fa-angle-double-right bigger-140"></i></span>',
                onPageClick: function (event, page) {
                    GetMyTasks(page);
                  }
            });
        }

    }

Hope you did understand me :) Thanks!

foolsopts commented 7 years ago

Try this.

function create_intialize(){
  $('.my-pagination').twbsPagination('destroy')
  var twb_options = {
    first: '<<',
    last: '>>',
    next: '>',
    prev: '<',
    totalPages: $('.total_p').val(),
    hideOnlyOnePage: true,
    visiblePages: 5,
    startPage: parseInt($('.current_p').val()),
    initiateStartPageClick: false,
    onPageClick: function(event, page) {
       //Event
    }
  }
   // ================================>
  $('.my-pagination',table).twbsPagination(twb_options);
}
josecebe commented 6 years ago

We can close this issue, now is not necessary to destroy the element because there is a new method to update 'totalPages' and 'currentPage'.

Take a look to 'changeTotalPages' method (will be available in 1.4.2 tag, but you can test it in master).