Pregunta sobre TablePress de Wordpress:

Las funciones de DateTable no aparecen si está usando # colspan #

Un usuario preguntó 👇

Hola Tobias,

#colspan# funciona bien, pero no todas las funciones de DataTable («Búsqueda», «Información», etc.) se muestran en la interfaz. De hecho, el código falta por completo. ¿Es este el comportamiento abusivo, un error o es mi culpa? Una vez que las líneas con #colspan# las funciones de DataTable se ocultan de nuevo,

No, el script JS con DataTables (consulte: https://wordpress.org/support/topic/table-column-include-exlucde-from-search-via-js/) no está activo aquí;).

Saludos Sascha

Lanzador de hilos

(@sesselschwitzer)

Hace 3 años, 4 meses

Mirar:
https://tablepress.org/demo/ -> 2da mesa.

Si «filtro / búsqueda» está habilitado, la entrada de búsqueda también falta aquí.

(@tobiasbg)

Hace 3 años, 4 meses

Hola,

Este es el comportamiento esperado. La biblioteca JS DataTables solo admite tablas con celdas combinadas (a través de colspan o rowspan).

Saludos, Tobias

Lanzador de hilos

(@sesselschwitzer)

Hace 3 años, 4 meses

Hola Tobias,

Gracias por la rápida respuesta. No importa (25 filas de la tabla). La mesa en sí funciona, lo que es más importante.

Que tengas una buena semana 🙂 Sascha

(@tobiasbg)

Hace 3 años, 4 meses

Hola,

¡Que tengas una buena semana también!

Todo lo mejor, Tobias

Lanzador de hilos

(@sesselschwitzer)

Hace 3 años, 4 meses

Hola Tobias,

todavía hay un error: actualmente hay 492 entradas. Cuando elijas, p. Ej. la primera entrada obtiene 284 visitas. Después de hacer clic en el enlace «Siguiente», la finalización desaparece y se devuelven las 492 entradas.

Mirar:
http://www.regionalmuseum-alsfeld.de/dokumente/lexika/bauwerke/

El código responsable es:

let jTable = $('#tablepress-' + tableID);
let filterValue = 'blah';

if (searchColumns.length > 0){// search single columns
    //jInput.keyup();
    jTable
        .DataTable()
        .search( '' )// remove global columns filter (empties search input field, too)
        .columns( searchColumns )// search within single column only
        .search( filterValue, searchRegex, searchSmart )
        .draw()
        .search( '', searchRegex, searchSmart )// remove single columns filter (but do NOT redraw table)
        ;
}

Sé que este es mi problema con DataTables, pero tal vez TÚ puedas ayudarme :).

Saludos Sascha

(@tobiasbg)

Hace 3 años, 4 meses

Hola Sascha,

Solo puedo asumir que la página restablece el filtrado, pero desafortunadamente, mi conocimiento de estas características de DataTables es demasiado limitado. Lo siento 🙁

Saludos, Tobias

Lanzador de hilos

(@sesselschwitzer)

Hace 3 años, 4 meses

Yo creo lo ultimo .search() llamada causa el problema.

Lanzador de hilos

(@sesselschwitzer)

Hace 3 años, 4 meses

Está bien. Buscaré una solución y la publicaré aquí.

(@tobiasbg)

Hace 3 años, 4 meses

Hola,

cuidando el draw() puede que no tenga ningún efecto. ¡Espero que puedas encontrar una solución!

Saludos, Tobias

Lanzador de hilos

(@sesselschwitzer)

Hace 3 años, 4 meses

Hola Tobias,

¡ÉL CONSIGUIÓ! El botón «Siguiente» ahora funciona.

Solución: debe filtrar los valores actuales de información searchColumns, searchRegex y searchSmart. Solo agregué propiedades creadas dinámicamente FILTER_INFO[<table-id>].

Ahora el código se puede leer directamente y debería funcionar (por favor).

// empty last filter
let dataTable = jTable
    .DataTable()
    .columns( info.lastSearch.searchColumns )
    .search( '', info.lastSearch.searchRegex, info.lastSearch.searchSmart )
    .draw()
    ;

// search within selected column only
if (searchColumns.length > 0){
    dataTable = dataTable.columns( searchColumns );
}

// perform search (at this point with or without searchColumn indices)
dataTable
    .search( filterValue, searchRegex, searchSmart )
    .draw()
    ;

// store current filter data
info.lastSearch = {
    searchColumns: searchColumns,
    searchRegex:   searchRegex,
    searchSmart:   searchSmart,
};

// clear search input
jInput.val('').keyup();

Saludos Sascha

(@tobiasbg)

Hace 3 años, 4 meses

Hola,

agradable de conseguir! ¡Gracias de nuevo por compartirlo!

Todo lo mejor, Tobias

Lanzador de hilos

(@sesselschwitzer)

Hace 3 años, 4 meses

Hola Tobias,

La biblioteca JS DataTables solo admite tablas con celdas combinadas (a través de colspan o rowspan).

Encontré esto: https://wordpress.org/support/topic/datetable-functions-not-visible-if-using-colspan/#post-9610057

Sin embargo, el campo de entrada de búsqueda se muestra aquí. colspan colocar. Creo que funciona porque colspan dentro de thead y no tbody.

Sobre Sascha

Lanzador de hilos

(@sesselschwitzer)

Hace 3 años, 4 meses

Lo siento, enlace incorrecto.

Correcto:
https://datatables.net/examples/basic_init/complex_header.html

Lanzador de hilos

(@sesselschwitzer)

Hace 3 años, 4 meses

Puede haber trabajo:
https://stackoverflow.com/questions/27290693/how-to-use-rowspan-and-colspan-in-tbody-using-datatable-js/34012324#34012324

Este código será útil para su plugin TablePress.

(@tobiasbg)

Hace 3 años, 4 meses

Hola,

sí, colspan se puede usar en encabezados de tabla en DataTables, pero solo si hay una celda de encabezado para cada columna. Esto significa que habría dos capas en el encabezado, pero TablePress no lo admite en este momento.

El segundo enlace parece interesante, pero es bastante intrincado. Aunque parece funcionar, el código HTML ya no sería válido, por lo que veo … Así que no estoy seguro de tener el derecho a admitir esto … Tal vez en forma de una extensión …

Saludos, Tobias

¿Solucionó tu problema??

0 / 0

Deja una respuesta 0

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *