Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

[Javascript] jQuery DataTable salvare configurazione

Problemi di HTML? Di PHP, ASP, .NET, JSP, Perl, SQL, JavaScript, Visual Basic..?
Vuoi realizzare programmi in C, C++, Java, Ruby o Smalltalk, e non sai da che parte cominciare?
Entra qui e troverai le risposte!

Moderatori: Triumph Of Steel, archimede

[Javascript] jQuery DataTable salvare configurazione

Postdi iucaa » 11/09/12 14:17

Ciao a tutti

Per la visualizzazione di una tabella di un db sto usando jQuery DataTables che funziona in modo egregio all'interno di una pagina scritta in PHP, ho però il seguente problema: vorrei implementare il salvataggio dello stato della tabella (filtri, pagina) e la funzione che effettua questa caratteristica l'ho trovata dallo stesso sito di jQuery http://www.datatables.net/blog/localStorage_for_state_saving
e funziona perfettamente, ecco il codice
Codice: Seleziona tutto
$(document).ready(function() {
    $('#example').dataTable( {
        "bStateSave": true,
        "fnStateSave": function (oSettings, oData) {
            localStorage.setItem( 'DataTables_'+window.location.pathname, JSON.stringify(oData) );
        },
        "fnStateLoad": function (oSettings) {
            return JSON.parse( localStorage.getItem('DataTables_'+window.location.pathname) );
        }
    } );
} );

Se provo ad inserire il codice nella stessa funzione sopra menzionata "$(document).ready(function()" per la personalizzazione in Italiano della griglia:
Codice: Seleziona tutto
  {         
        "oLanguage": {
   "sProcessing":   "Caricamento...",
   "sLengthMenu": "Mostra _MENU_ records per pagina",
            "sZeroRecords": "Nessun record trovato",
            "sInfo": "Visualizzazione da _START_ a _END_ - di _TOTAL_ records",
            "sInfoEmpty": "Visualizzazione dal record 0 al 0 - Totale 0 records totali",
            "sInfoFiltered": "(Filtrato da un totale di  _MAX_ total records)",
           "sInfoPostFix":  "",
            "sSearch":       "Cerca:",
            "sUrl":          "",
            "oPaginate": { "sFirst":    "Inizio", "sPrevious": "Precedente", "sNext": "Successivo", "sLast": "Fine" }
                                  }
                     }    // ---- end     



Mi da un errore di sintassi e quindi non rimane che o usare la personalizzazione Italiana senza mantenere lo stato dei filtri e della griglia, oppure usare la seconda parte di codice perdendo per l'appunto la personalizzazione.

Ho cercato su web ma non ci sono indicazioni in merito, scusate se non sono stato chiaro, grazie in anticipo per le eventuali risposte.
iucaa
Utente Senior
 
Post: 488
Iscritto il: 23/10/03 12:03
Località: Roma

Sponsor
 

Postdi archimede » 12/09/12 01:34

iucaa ha scritto:Se provo ad inserire il codice nella stessa funzione sopra menzionata...
Come lo fai? In altre parole, com'è il tuo codice completo?

Alessandro
archimede
Moderatore
 
Post: 2755
Iscritto il: 07/11/02 12:41
Località: Genova

Postdi iucaa » 12/09/12 11:24

Ciao Archimede, grazie della tua risposta, il problema è proprio quello: sono esperto programmatore ma non di javascript, per lo meno a livello di capire dove vanno inserite e come le due porzioni di codice che comunque devono essere all'interno della funzione

$(document).ready(function()

In pratica provo a digitarlo qui:
Codice: Seleziona tutto
<script type="text/javascript" charset="utf-8">

$(document).ready(function() {
    $('#example').dataTable(
           {

           "oLanguage": {
          "sProcessing":   "Caricamento...",
         "sLengthMenu": "Mostra _MENU_ records per pagina",
            "sZeroRecords": "Nessun record trovato",
            "sInfo": "Visualizzazione da _START_ a _END_ - di _TOTAL_ records",
            "sInfoEmpty": "Visualizzazione dal record 0 al 0 - Totale 0 records totali",
            "sInfoFiltered": "(Filtrato da un totale di  _MAX_ total records)",
           "sInfoPostFix":  "",
            "sSearch":       "Cerca:",
            "sUrl":          "",
            "oPaginate": { "sFirst":    "Inizio", "sPrevious": "Precedente", "sNext": "Successivo", "sLast": "Fine" }
                                  }
              }
         );


        {
        "bStateSave": true,
        "fnStateSave": function (oSettings, oData) {localStorage.setItem( 'DataTables', JSON.stringify(oData) );},
        "fnStateLoad": function (oSettings) {return JSON.parse( localStorage.getItem('DataTables') );}
        }

   );
} );   
</script>
iucaa
Utente Senior
 
Post: 488
Iscritto il: 23/10/03 12:03
Località: Roma

Postdi archimede » 12/09/12 12:25

iucaa ha scritto:sono esperto programmatore ma non di javascript
Allora ti raccomando di essere estremamente ordinato nello scrivere il codice, consiglio valido per qualsiasi linguaggio, ma in particolare per Javascript (quanto meno io tendo a incasinarmi facilmente con tutte quelle parentesi).

Forse così va meglio:
Codice: Seleziona tutto
<script type="text/javascript" charset="utf-8">
$(document).ready(function()
{
   $('#example').dataTable(
   {
      "bStateSave": true,
      "fnStateSave": function (oSettings, oData)
      {
         localStorage.setItem('DataTables', JSON.stringify(oData));ù
      },
      "fnStateLoad": function (oSettings)
      {
         return JSON.parse(localStorage.getItem('DataTables'));
      },
      "oLanguage":
      {
         "sProcessing":   "Caricamento...",
         "sLengthMenu": "Mostra _MENU_ records per pagina",
         "sZeroRecords": "Nessun record trovato",
         "sInfo": "Visualizzazione da _START_ a _END_ - di _TOTAL_ records",
         "sInfoEmpty": "Visualizzazione dal record 0 al 0 - Totale 0 records totali",
         "sInfoFiltered": "(Filtrato da un totale di _MAX_ total records)",
         "sInfoPostFix":  "",
         "sSearch": "Cerca:",
         "sUrl": "",
         "oPaginate":
         {
            "sFirst": "Inizio", "sPrevious": "Precedente", "sNext": "Successivo", "sLast": "Fine"
         }
      }
   });
});   
</script>
HTH.

Alessandro
archimede
Moderatore
 
Post: 2755
Iscritto il: 07/11/02 12:41
Località: Genova

Re: [Javascript] jQuery DataTable salvare configurazione

Postdi iucaa » 14/09/12 10:04

Ciao ti ringrazio della tua risposta veloce, non appena posso lo provo, grazie di nuovo buona giornata.
iucaa
Utente Senior
 
Post: 488
Iscritto il: 23/10/03 12:03
Località: Roma


Torna a Programmazione


Topic correlati a "[Javascript] jQuery DataTable salvare configurazione":


Chi c’è in linea

Visitano il forum: Nessuno e 6 ospiti