Salve ho bisogno di aiuto per CMSprecisamente ho una tabella con paginazione jquery su ogni riga della tabella cè una checkbox che mi permette di selezionare i record per poi effettuare con un submit php varie operazioni. il fatto è che se seleziono dei record e poi cambio pagina e ne seleziono altri quando vado a fare il submit mi vengono passati solo i valori della pagina in cui mi trovo e non anche quelli che avevo spuntato nella pagina precedente.
una demo del CMS la si puo' trovare qui http://themeforest.net/item/admintas..._preview/57479 forse puo servire a capire meglio quello che sto spiegando.
Questo è il codice javascript della paginazione
Codice PHP:
(function($) {
$.extend({
tablesorterPager: new function() {
function updatePageDisplay(c) {
var s = $(c.cssPageDisplay,c.container).val((c.page+1) + c.seperator + c.totalPages);
}
function setPageSize(table,size) {
var c = table.config;
c.size = size;
c.totalPages = Math.ceil(c.totalRows / c.size);
c.pagerPositionSet = false;
moveToPage(table);
fixPosition(table);
}
function fixPosition(table) {
var c = table.config;
if(!c.pagerPositionSet && c.positionFixed) {
var c = table.config, o = $(table);
if(o.offset) {
c.container.css({
//modificato da Pierluigi per risolvere bug che saltava nel footer
//top: o.offset().top + o.height() + 'px',
//position: 'absolute'
});
}
c.pagerPositionSet = true;
}
}
function moveToFirstPage(table) {
var c = table.config;
c.page = 0;
moveToPage(table);
}
function moveToLastPage(table) {
var c = table.config;
c.page = (c.totalPages-1);
moveToPage(table);
}
function moveToNextPage(table) {
var c = table.config;
c.page++;
if(c.page >= (c.totalPages-1)) {
c.page = (c.totalPages-1);
}
moveToPage(table);
}
function moveToPrevPage(table) {
var c = table.config;
c.page--;
if(c.page <= 0) {
c.page = 0;
}
moveToPage(table);
}
function moveToPage(table) {
var c = table.config;
if(c.page < 0 || c.page > (c.totalPages-1)) {
c.page = 0;
}
renderTable(table,c.rowsCopy);
}
function renderTable(table,rows) {
var c = table.config;
var l = rows.length;
var s = (c.page * c.size);
var e = (s + c.size);
if(e > rows.length ) {
e = rows.length;
}
var tableBody = $(table.tBodies[0]);
// clear the table body
$.tablesorter.clearTableBody(table);
for(var i = s; i < e; i++) {
//tableBody.append(rows[i]);
var o = rows[i];
var l = o.length;
for(var j=0; j < l; j++) {
tableBody[0].appendChild(o[j]);
}
}
fixPosition(table,tableBody);
$(table).trigger("applyWidgets");
if( c.page >= c.totalPages ) {
moveToLastPage(table);
}
updatePageDisplay(c);
}
this.appender = function(table,rows) {
var c = table.config;
c.rowsCopy = rows;
c.totalRows = rows.length;
c.totalPages = Math.ceil(c.totalRows / c.size);
renderTable(table,rows);
};
this.defaults = {
size: 10,
offset: 0,
page: 0,
totalRows: 0,
totalPages: 0,
container: null,
cssNext: '.next',
cssPrev: '.prev',
cssFirst: '.first',
cssLast: '.last',
cssPageDisplay: '.pagedisplay',
cssPageSize: '.pagesize',
seperator: "/",
positionFixed: true,
appender: this.appender
};
this.construct = function(settings) {
return this.each(function() {
config = $.extend(this.config, $.tablesorterPager.defaults, settings);
var table = this, pager = config.container;
$(this).trigger("appendCache");
config.size = parseInt($(".pagesize",pager).val());
$(config.cssFirst,pager).click(function() {
moveToFirstPage(table);
return false;
});
$(config.cssNext,pager).click(function() {
moveToNextPage(table);
return false;
});
$(config.cssPrev,pager).click(function() {
moveToPrevPage(table);
return false;
});
$(config.cssLast,pager).click(function() {
moveToLastPage(table);
return false;
});
$(config.cssPageSize,pager).change(function() {
setPageSize(table,parseInt($(this).val()));
return false;
});
});
};
}
});
// extend plugin scope
$.fn.extend({
tablesorterPager: $.tablesorterPager.construct
});
})(jQuery);
il codice della tabella è questo:
Codice PHP:
<form name="myform" class="pager-form" method="post" action="gestione_documenti.php">
<table class="live_filter">
<thead>
<tr>
<th><input type="checkbox" value="check_all" onclick="this.value=check(this.form.lista)" class="submit"></th>
<th>Nome</th>
<th>Tipo</th>
<th>Stato</th>
</tr>
</thead>
<tbody>
<?php echo $html;?>
</tbody>
</table>
<div id="pager"> [url="#"] <span class="ui-icon ui-icon-arrowthickstop-1-w"></span> [/url] [url="#"] <span class="ui-icon ui-icon-circle-arrow-w"></span> [/url]
<input type="text" class="pagedisplay">
[url="#"] <span class="ui-icon ui-icon-circle-arrow-e"></span> [/url] [url="#"] <span class="ui-icon ui-icon-arrowthickstop-1-e"></span> [/url]
<select class="pagesize" id="elementi_pagina" name="elementi_pagina">
<option value="10" selected="selected">10 risultati</option>
<option value="20">20 risultati</option>
<option value="30">30 risultati</option>
<option value="40">40 risultati</option>
<option value="<?php echo $num;?>">Tutti i risultati</option>
</select>
</div>
</form>
questo è uno dei submit:
Codice PHP:
<a href="#" onclick="document.myform.action.value='modifica';document.forms['myform'].submit(); return false;">