2011-11-08 37 views
34

Tôi đã sử dụng plugin jQuery DataTables (http://datatables.net) trong một thời gian và thường chúng tôi siêu mịn bằng cách sử dụng kích thước mặc định và sử dụng tùy chọn "bStateSave": true.Kích thước phân trang dữ liệu jQuery

Nhưng bây giờ tôi thực sự cần phải đặt kích thước của phân trang không phải là [10,25,50,100] nhưng thay vì tôi cần điều này như chúng ta hãy nói [1,2,3]. Tôi nhận được menu để thiết lập như thế này với thiết lập các tùy chọn aLengthMenu:[1,2,3] và nếu tôi chọn một trong các tùy chọn nó đặt số lượng lựa chọn chính xác.

Nhưng trên dataTable STARTUP nó không đặt độ dài là 1,2,3 nhưng thay vào mặc định '10'

Tôi đang thiếu tùy chọn nào? Cảm ơn bạn trước!

Trả lời

26
  • DataTables 1.10+

    Sử dụng lengthMenu để xác định danh sách độ dài trang có sẵn và tùy chọnpageLength để đặt độ dài trang ban đầu.

    Nếu pageLength không được chỉ định, nó sẽ tự động được đặt thành giá trị đầu tiên được đưa ra trong mảng được chỉ định bởi lengthMenu.

    var table = $('#example').DataTable({ 
        "lengthMenu": [ [2, 4, 8, -1], [2, 4, 8, "All"] ], 
        "pageLength": 4 
    }); 
    

    Xem this jsFiddle để biết mã và trình diễn.


  • DataTables 1,9

    Sử dụng aLengthMenu để xác định một danh sách dài trang có sẵn và iDisplayLength để thiết lập chiều dài trang ban đầu.

    var table = $('#example').dataTable({ 
        "aLengthMenu": [ [2, 4, 8, -1], [2, 4, 8, "All"] ], 
        "iDisplayLength": 4,   
    }); 
    

    Xem this jsFiddle để biết mã và trình diễn.

+0

* Đối với DataTables dưới 1.10 vui lòng xem câu trả lời không được chấp nhận * Đây là phiên bản hiện tại và do đó sẽ được chấp nhận ngay bây giờ – Sam

62

xóa các cookie của bạn, những người datatables lưu khi bạn đang sử dụng bStateSave và bạn có 10,25,50,100

sau đó làm mới và bây giờ nó nên tiết kiệm 1 hoặc 2 hoặc 3

làm bạn có nghĩa là

"aLengthMenu": [[5, 10, 15, 25, 50, 100 , -1], [5, 10, 15, 25, 50, 100, "All"]], 
"iDisplayLength" : 10, 
+0

Cảm ơn trước, chỉ thay đổi aLengthMenu không có hiệu lực hôm nay (không sử dụng bStateSave tại thời điểm đó), vì vậy tôi sẽ thử với iDisplayLength ngày mai. Tôi sẽ cho bạn biết và sau đó bỏ phiếu/chấp nhận, cảm ơn bạn trả trước! – Sam

+6

Tuyệt vời, cảm ơn bạn. 'iDisplayLength' là tùy chọn để thiết lập số tiền ban đầu của Datarows để hiển thị. Cảm ơn rất nhiều! – Sam

+0

xóa cookie của bạn --- cách thực hiện? – AKS

0

Đảm bảo đợi, cho đến khi bạn tải những thứ góc cạnh.

$timeout(function(){ // given timeout for wait load the page 
    $('#dataTables-example').dataTable({ 
     "iDisplayLength": 10, 
    }); 
}, 100, false); 
Các vấn đề liên quan