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.