J'utilise DataTables ( datatables.net ) et je voudrais que mon champ de recherche soit en dehors du tableau (par exemple dans mon en-tête div).
Est-ce possible ?
jquery
search
datatables
filtering
Athanasios Emmanouilidis
la source
la source
$(".dataTables_filter :input").focus().val(value).keypress();
enkeyup
mon entrée pendant environ une heure, avant de trouver. Jamais cependant pour utiliser l'API .. Solution élégante!Selon le commentaire de @lvkz:
si vous utilisez datatable avec d majuscule
.DataTable()
(cela retournera un objet API Datatable), utilisez ceci:qui est la réponse @netbrain.
si vous utilisez datatable avec un d minuscule
.dataTable()
(cela retournera un objet jquery), utilisez ceci:la source
oTable.fnFilter($(this).val());
A travaillé pour moi aussi,.DataTable()
et celui-ci:oTable.fnFilter($(this).val());
lorsque vous utilisez.dataTable()
La différence est à la capitale D. J'espère que cela aide!oTable.api().search($(this).val()).draw();
cela peut être utile, surtout si vous voulez également un contrôle manuel de la paginationlength
:oTable.api().page.len($(this).val()).draw();
Vous pouvez utiliser l'
sDom
option pour cela.Par défaut avec l'entrée de recherche dans son propre div:
Si vous utilisez jQuery UI (
bjQueryUI
défini surtrue
):Ce qui précède mettra l'
input
élément de recherche / filtrage dans son proprediv
avec une classe nomméesearch-box
qui est en dehors de la table réelle.Même s'il utilise sa syntaxe abrégée spéciale, il peut en fait prendre n'importe quel HTML que vous lui lancez.
la source
'<"search-box"r><"H"lf>t<"F"ip>'
ne sait pas si quelque chose de pire existelanguage: { search: "example", searchPlaceholder: "example" }
Celui-ci m'a aidé pour DataTables Version 1.10.4, car sa nouvelle API
la source
Les versions plus récentes ont une syntaxe différente:
Notez que cet exemple utilise la variable
table
affectée lors de la première initialisation des tables de données. Si vous n'avez pas cette variable disponible, utilisez simplement:Depuis: DataTables 1.10
- Source: https://datatables.net/reference/api/search ()
la source
Cela devrait fonctionner pour vous: (DataTables 1.10.7)
ou
la source
J'ai eu le même problème.
J'ai essayé toutes les alternatives affichées, mais pas de travail, j'ai utilisé un moyen qui n'est pas correct mais qui a parfaitement fonctionné.
Exemple d'entrée de recherche
le code jquery
la source
Je veux ajouter une autre chose à la réponse de @ netbrain pertinente au cas où vous utilisez le traitement côté serveur (voir serverSide option ).
La limitation des requêtes effectuée par défaut par les tables de données (voir l' option searchDelay ) ne s'applique pas à l'
.search()
appel d'API. Vous pouvez le récupérer en utilisant $ .fn.dataTable.util.throttle () de la manière suivante:la source
Vous pouvez déplacer le div lorsque le tableau est dessiné à l'aide de la
fnDrawCallback
fonction.la source
"drawCallback": function (settings) { $(".dataTables_filter").each(function () { $(this).appendTo($(this).parent().siblings(".panel-body")); }); },
Dans
loadtransajax.php
vous pouvez recevoir la valeur get:la source
Si vous utilisez JQuery dataTable, vous devez simplement ajouter
"bFilter":true
. Cela affichera la zone de recherche par défaut en dehors de la table et son fonctionnement de manière dynamique..comme prévula source