Skip to content

Conversation

alessandroarantes
Copy link

just changed 2 lines to the pagination.js source:

  • line 108 becomes:
    var el = $(".paginationjs").length > 0 ? $(".paginationjs") : $('

    ');

  • line 643 becomes:
    var el = $(".paginationjs");

with those changes, it's possible to have multiple paginators on the page by setting multiple DIVs with a given class in the HTML and then using the jQuery locator for the class in the script.

example:

HTML:

JS:
$('#pagination-container').pagination({
dataSource: [1, 2, 3, 4, 5, 6, 7, ... , 195],
callback: function(data, pagination) {
// template method of yourself
var html = template(data);
$('#data-container').html(html);
}
})

@SLGShark6
Copy link

Also the "container" variable used in the "observer" function of the pagination object, to wire up "container.on('event')" events that are triggered through normal use, such as the "go" event. This causes data to be rendered more than once depending on how many pagination instances are being used in the DOM.

So to mitigate this i declared "var eventContainer = $(container[0]);" to get only the first instance and replace every wire that uses container in the function with it so it only fires once. E.g. "eventContainer.on(eventPrefix + 'next', function(event, done) {
self.next(done);
});"
As well replaced the "container.trigger"s with "eventContainer.trigger".

This starts around line 646.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants