diff --git a/addons/pager/jquery.tablesorter.pager.js b/addons/pager/jquery.tablesorter.pager.js index eda1a859..893b781a 100644 --- a/addons/pager/jquery.tablesorter.pager.js +++ b/addons/pager/jquery.tablesorter.pager.js @@ -296,7 +296,11 @@ tds += ''; } // add rows to first tbody - p.processAjaxOnInit ? c.$tbodies.eq(0).html( tds ) : p.processAjaxOnInit = true; + if (p.processAjaxOnInit) { + c.$tbodies.eq(0).html( tds ); + } else { + p.processAjaxOnInit = true; + } } // only add new header text if the length matches if ( th && th.length === hl ) { @@ -336,7 +340,7 @@ fixHeight(table, p); // apply widgets after table has rendered $t.trigger('applyWidgets'); - $t.trigger('updateRow', [false, function(){ + $t.trigger('updateRows', [false, function(){ if (p.initialized) { $t.trigger('updateComplete'); $t.trigger('pagerChange', p); @@ -559,19 +563,26 @@ }, enablePager = function(table, p, triggered){ - var pg = p.$size.removeClass(p.cssDisabled).removeAttr('disabled'); - p.$goto.removeClass(p.cssDisabled).removeAttr('disabled'); + var info, + c = table.config; + p.$size.add(p.$goto).removeClass(p.cssDisabled).removeAttr('disabled').attr('aria-disabled', 'false'); p.isDisabled = false; p.page = $.data(table, 'pagerLastPage') || p.page || 0; p.size = $.data(table, 'pagerLastSize') || parseInt(pg.find('option[selected]').val(), 10) || p.size || 10; - pg.val(p.size); // set page size + p.$size.val(p.size); // set page size p.totalPages = Math.ceil( Math.min( p.totalRows, p.filteredRows ) / p.size ); + // if table id exists, include page display with aria info + if ( table.id ) { + info = table.id + '_pager_info'; + p.$container.find(p.cssPageDisplay).attr('id', info); + c.$table.attr('aria-describedby', info); + } if ( triggered ) { - $(table).trigger('updateRow'); + c.$table.trigger('updateRows'); setPageSize(table, p.size, p); hideRowsSetup(table, p); fixHeight(table, p); - if (table.config.debug) { + if (c.debug) { ts.log('pager enabled'); } } diff --git a/js/widgets/widget-pager.js b/js/widgets/widget-pager.js index 2122922f..43453e4a 100644 --- a/js/widgets/widget-pager.js +++ b/js/widgets/widget-pager.js @@ -479,7 +479,11 @@ tsp = ts.pager = { tds += ''; } // add rows to first tbody - wo.pager_processAjaxOnInit ? c.$tbodies.eq(0).html( tds ) : wo.pager_processAjaxOnInit = true; + if (wo.pager_processAjaxOnInit) { + c.$tbodies.eq(0).html( tds ); + } else { + wo.pager_processAjaxOnInit = true; + } } // only add new header text if the length matches if ( th && th.length === hl ) { @@ -519,7 +523,7 @@ tsp = ts.pager = { tsp.fixHeight(table, c); // apply widgets after table has rendered $t.trigger('applyWidgets'); - $t.trigger('updateRow', [false, function(){ + $t.trigger('updateRows', [false, function(){ if (p.initialized) { $t.trigger('updateComplete'); $t.trigger('pagerChange', c); @@ -762,7 +766,7 @@ tsp = ts.pager = { p.totalPages = Math.ceil( Math.min( p.totalRows, p.filteredRows ) / p.size ); c.$table.removeClass('pagerDisabled'); if ( triggered ) { - c.$table.trigger('updateRow'); + c.$table.trigger('updateRows'); tsp.setPageSize(table, p.size, c); tsp.hideRowsSetup(table, c); tsp.fixHeight(table, c);