簡體   English   中英

用於ajax過濾產品的jqPagination

[英]jqPagination for ajax filtered products

我正在嘗試使用jqPagination對可以使用ajax過濾的產品進行分頁。 直到這一切都正常為止:假設我有20種產品,每頁5種產品,即4頁。 現在,如果我過濾產品並僅獲得(即)2頁並且在應用過濾器時位於第4頁,就會出現我的問題。 jqPagination輸入顯示第4頁,共4頁。(如果我在使用ajax過濾器時是在第1或2頁上,則效果很好)。 這是我使用的jQuery代碼:

$(document).ready(function() {
  var records_per_page = 5;
  var records = $('#products div.productItem').length;
  var pages = Math.ceil(records/records_per_page);

  $('#products div.productItem').slice(records_per_page).hide();

  $('.pagination').jqPagination({
    max_page    : pages,
    page_string : '{current_page} of {max_page}',
    paged       : function(page) {

      var start_rec = records_per_page * (page-1);
      var stop_rec = start_rec+records_per_page;

      $('#products div.productItem').hide();
      $('#products div.productItem').slice(start_rec,stop_rec).show();
    }
  });
});

$.ajax({
        url: "modules/modules/_ajax-filters.php",
        data: { marke: selBrandStr, lieferung: selDeliveryStr, minPrice: minPriceFilter, maxPrice: maxPriceFilter, pag: pag },
        type:"post",
        async: false,
        cache: false,
        dataType: "html",
        success: function (html) {
            $('#products').html('');
            $('#products').html(html);

            var records_per_page = 5;
            var records = $('#products div.productItem').length;
            var pages = Math.ceil(records/records_per_page);

            $('.pagination').jqPagination('option', 'max_page', pages);
            $('.pagination').jqPagination('option', 'current_page', 1);
        }
});

我找到了答案...我必須在兩行之間切換

$('.pagination').jqPagination('option', 'max_page', pages);
$('.pagination').jqPagination('option', 'current_page', 1);

並成為:

$('.pagination').jqPagination('option', 'current_page', 1);
$('.pagination').jqPagination('option', 'max_page', pages);

現在可以了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM