Ho creato una tabella e ho inserito un paio di javascript per ottenere alcune funzioni, tra cui:

- Ricerca (filtro)
- Impaginazione
- Ordinamento
- ...

qui la demo online:
http://nathan4000.altervista.org/tab...ocs/index.html

Per l'impaginazione e l'ordinamento ho usato il plugin TableSorter , il cui pacchetto contiene anche uno script per l'impaginazione (jquery.tablesorter.pager.js)

Ma nell'implementazione dei diversi script ho notato alcuni conflitti tra la la Ricerca e l'impaginazione.

1 . la ricerca trova solo i termini che vengono visualizzati dalla paginazione. Se ad esempio ho 5 valori nella tabella - perchè la paginazione me ne imposta solo 5 - posso trovare solo quei 5 valori e non i 34 reali presenti in tutta la tabella:
Per capire meglio:



se faccio una ricerca posso trovare solo questi 5 valori che vedo.
Se invece volessi cercare la parola tropico questo è il risultato che mi darebbe:



Eppure ci sono altre 7 pagine in cui si possono trovare i valori (impaginazione=5)

2. un altro problema è l'errata restituzione dei valori nell'impaginazione.
Imposto l'impaginazione a 20.
Nella ricerca scrivo 2012.
Tutte le celle che non contengono il carattere 2012 vengono nascoste alla vista.
il problema è che tutto questo è valido solo per la pagina che vedo, se passo alla pagina 2 dell'impaginazione non mi viengono piu restituite piu solo le righe che contengono la parola 2012, ma anche 2011, 2007..questo vale anche per qualsiasi parola (non solo numeri).



3. Se imposto l'impaginazione a 20-30-40 e provo a cercare un termine ho notato che lo spazio che c'è tra la tabella e il form è eccessiva. Vorrei far in modo che il form sia sempre vicino alla tabella quando effettuo le ricerche.
Se dovessi avere 200 valori lo spazio diventerebbe ancora piu grande e per poter ridurre l'impaginazione dovrei scorrere tutta la pagina...no grazie.



Provate a testare voi e ditemi quali sono i problemi.
Ci sono circa 6 css diversi, 8 script esterni + 4 interni. Magari c'è qualche conflitto, ma non sono riuscito a individuarlo.