Estoy usando DataTables ( datatables.net ) y me gustaría que mi cuadro de búsqueda esté fuera de la tabla (por ejemplo, en mi div de encabezado).
Es posible ?
jquery
search
datatables
filtering
Athanasios Emmanouilidis
fuente
fuente
$(".dataTables_filter :input").focus().val(value).keypress();
en poner enkeyup
mi entrada durante aproximadamente una hora, antes de encontrar esto. Nunca pensé en usar la API .. ¡Solución elegante!Según el comentario de @lvkz:
si está utilizando datatable con d mayúscula
.DataTable()
(esto devolverá un objeto de API Datatable) use esto:que es la respuesta de @netbrain.
si está usando datatable con d minúscula
.dataTable()
(esto devolverá un objeto jquery) use esto:fuente
oTable.fnFilter($(this).val());
A mí también me.DataTable()
y este:oTable.fnFilter($(this).val());
cuando usa.dataTable()
La diferencia está en la capital D. ¡Espero que te ayude!oTable.api().search($(this).val()).draw();
puede ser útil, especialmente si también desea control manual sobre la paginaciónlength
:oTable.api().page.len($(this).val()).draw();
Puede usar la
sDom
opción para esto.Por defecto con entrada de búsqueda en su propio div:
Si usa jQuery UI (
bjQueryUI
configurado entrue
):Lo anterior pondrá el
input
elemento de búsqueda / filtrado en su propio nombrediv
con una clasesearch-box
que está fuera de la tabla real.A pesar de que usa su sintaxis abreviada especial, en realidad puede tomar cualquier HTML que le arrojes.
fuente
'<"search-box"r><"H"lf>t<"F"ip>'
no estoy seguro de si existe algo peorlanguage: { search: "example", searchPlaceholder: "example" }
Este me ayudó para DataTables Versión 1.10.4, porque su nueva API
fuente
Las versiones más recientes tienen una sintaxis diferente:
Tenga en cuenta que este ejemplo utiliza la variable
table
asignada cuando las tablas de datos se inicializan por primera vez. Si no tiene esta variable disponible, simplemente use:Desde: DataTables 1.10
- Fuente: https://datatables.net/reference/api/search ()
fuente
Esto debería funcionar para usted: (DataTables 1.10.7)
o
fuente
Yo tuve el mismo problema.
Probé todas las alternativas publicadas, pero no funcionó, usé una forma que no es la correcta pero funcionó perfectamente.
Entrada de búsqueda de ejemplo
el código jquery
fuente
Quiero añadir una cosa más a la respuesta de @ NetBrain relevante en caso de que utilice el procesamiento del lado del servidor (ver ServerSide opción).
La limitación de consultas realizada de forma predeterminada por las tablas de datos (consulte la opción searchDelay ) no se aplica a la
.search()
llamada a la API. Puede recuperarlo usando $ .fn.dataTable.util.throttle () de la siguiente manera:fuente
Puede mover el div cuando se dibuja la tabla usando la
fnDrawCallback
función.fuente
"drawCallback": function (settings) { $(".dataTables_filter").each(function () { $(this).appendTo($(this).parent().siblings(".panel-body")); }); },
En
loadtransajax.php
puede recibir el valor de obtener:fuente
Si está utilizando JQuery dataTable, solo necesita agregar
"bFilter":true
. Esto mostrará el cuadro de búsqueda predeterminado fuera de la tabla y funcionará dinámicamente ... según lo esperadofuente