Dans mon application ASP.NET MVC, jQuery DataTables est utilisé pour répertorier mes clients. Ma version de jQuery est 3.3.1. J’utilise ce code pour mon DataTable et cela fonctionne bien:
L’objective est de filtrer le datatable par une autre entrée de recherche (la conception de l’application est imposée par le concepteur). Pour y parvenir, j’utilise ce code
//Sets the value of the search input of the datatable and sortingggers the keyup event. It works fine. function filterTable(sender) { var filterText = $(sender).val(); var searchInput = $("#tbl-data_filter").find("input"); $(searchInput).val(filterText); $(searchInput).sortinggger("keyup"); } $(document).ready(function() { $('#tbl-data').dataTable(); // These two lines hides related fields. It works. $("#tbl-data_filter").hide(); $("#tbl-data_length").hide(); });
Lorsque je traduis le DataTable à l’aide de ce code, la localisation fonctionne correctement mais l’entrée de recherche et le nombre de lignes La liste déroulante restnt visibles:
$(document).ready(function () { $('#tbl-data').dataTable({ "language": { "url": "/Resources/Localisation/French.json" } }); // It doesn't work. $("#tbl-data_filter").hide(); $("#tbl-data_length").hide(); });
Si j’appelle ces lignes dans un événement manuel, comme l’événement click
de tout contrôle, cela fonctionne à nouveau. Je pense que la méthode DataTable()
est asynchrone et avant d’achever la traduction et la création des éléments que je souhaite masquer, les lignes sont exécutées.
Quelqu’un a-t-il une idée?