Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

211
Vistas
Use JavaScript DataTable con getCookie y SetCookie

Quiero eliminar los valores codificados de "pedido" y obtener esos valores de la función "getCookie". ¿Cómo puedo hacer esto? Cada vez que hago clic en una columna de la tabla, se ordena. Quiero almacenar ese orden de clasificación por función setCookie. Cuando la página se actualiza, quiero obtener ese orden de clasificación de la función getCookie. Gracias.

 $(document).ready(function () { let sortValue = getCookie("releaseTicketSort") var oTable = $('#allTicketsTable').DataTable({ "pageLength": 5, "lengthChange": true, "fixedHeader": true, "lengthMenu": [ [5, 10, 25, 50, -1], [5, 10, 25, 50, "All"] ], "order": [[2, 'asc']], columnDefs: [ { width: 150, targets: 5 }, { className: "dt-center", targets: 5} ], fnDrawCallback: function (settings){ console.log(settings.oSavedState.order) var orderVec = settings.oSavedState.order setCookie("releaseTicketSort", orderVec, exp=1000) getCookie("releaseTicketSort") } }); }); function setCookie(c_name,value,exdays) { var exdate=new Date(); exdate.setDate(exdate.getDate() + exdays); var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString()); document.cookie=c_name + "=" + c_value; } function getCookie(c_name) { var i,x,y,ARRcookies=document.cookie.split(";"); for (i=0;i<ARRcookies.length;i++) { x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("=")); y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1); x=x.replace(/^\s+|\s+$/g,""); if (x==c_name) return unescape(y); } }
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

En lugar de usar cookies, sugeriría usar las funciones de ahorro de estado integradas en DataTables (suponiendo que esté usando DataTables v1.10 o posterior).

Para su escenario en el que solo desea guardar el estado de clasificación entre cargas de página (pero no paginación ni filtrado), entonces la opción stateSaveParams es probablemente el enfoque más simple:

 $(document).ready(function() { var table = $('#example').DataTable( { stateSave: true, stateSaveParams: function (settings, data) { data.start = 0; data.search.search = ''; } } ); } );

Las opciones anteriores hacen que todos los datos de estado de la tabla se almacenen en el almacenamiento local de su navegador. Una entrada típica contendrá datos en la siguiente estructura:

 { "time": 1651180700425, "start": 0, "length": 10, "order": [ [0, "asc"] ], "search": { "search": "", "smart": true, "regex": false, "caseInsensitive": true }, "columns": [{ "visible": true, "search": { "search": "", "smart": true, "regex": false, "caseInsensitive": true } }, . . . { "visible": true, "search": { "search": "", "smart": true, "regex": false, "caseInsensitive": true } }] }

La opción stateSaveParams anulará los valores start y search.search para que se guarden como sus valores predeterminados (primera página y sin término de búsqueda) en lugar de los valores que el usuario haya proporcionado:

 stateSaveParams: function (settings, data) { data.start = 0; data.search.search = ''; }

Nada más se modifica, incluidos los valores de clasificación. DataTables recupera automáticamente estos datos guardados del almacenamiento local, debido a la opción stateSave: true .

Por lo tanto, no necesita guardar explícitamente los datos de clasificación; solo necesita "desguardar" explícitamente las otras opciones que en realidad no desea conservar/restaurar.

Antecedentes y referencia: Más información sobre el almacenamiento local .

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda