comment actualiser un datatables table après le nettoyage du filtre en cliquant sur un bouton “effacer”
J'ai modifié le dataTables filtre d'entrée dans un Jquery Mobile filtre de recherche, qui comprend également un bouton supprimer pour effacer le champ de saisie.
Cela ne fonctionne qu'à moitié, parce que quand je clique sur supprimer, le champ de saisie efface MAIS les tables ne met pas à jour.
Donc je suis à la recherche de quelques conseils sur la façon d'actualiser le tableau en cliquant sur mon custom bouton supprimer à l'intérieur de la _fnFeatureHtmlFilter fonction?
Le code ci-dessous montre comment j'ai configuré le JQM de recherche. Ne pense pas que c'est utile pour répondre à la question si...
/* jqm search input */
sSearchStr = oSettings.oInit.bJQueryMobileUI == true ? '<input placeholder="Filtern" data-type="search" data-theme="'+DataTable.ext.oJQMthemes.wrapperTheme+'" />' :
( (sSearchStr.indexOf('_INPUT_') !== -1) ?
sSearchStr.replace('_INPUT_', '<input type="text" />') :
sSearchStr==="" ? '<input type="text" />' : sSearchStr+' <input type="text" />' );
var nFilter = document.createElement( 'div' );
/* jqm wrapper classes */
nFilter.className = oSettings.oInit.bJQueryMobileUI == true ? "ui-block-c "+oSettings.oClasses.sFilter : oSettings.oClasses.sFilter;
oSettings.oInit.bJQueryMobileUI == true ? $(nFilter).html(sSearchStr) : $(nFilter).html('<label>'+sSearchStr+'</label>');
Merci pour les quelques conseils!
OriginalL'auteur frequent | 2012-02-23
Vous devez vous connecter pour publier un commentaire.
Trouvé une solution:
Cette lie sur le bouton effacer. Donc, lorsqu'il est cliqué, je suis réglage de la valeur d'entrée à "" manuellement, car le JQM clair bouton ne semble pas vraiment effacer une entrée elle-même.
Avec mon effacé de l'entrée I de déclencher un keyup sur l'entrée. Cela déclenche la normale dataTables rountine, qui fera feu de l' fnFilter fonction, parce que maintenant jqFilter.la valeur ne correspond pas à la précédente terme de recherche. Parce que jqFilter est vide fnFilter montrera l'ensemble de la table à nouveau.
Peut-être utile pour quelqu'un d'autre, trop.
OriginalL'auteur frequent
Vous pouvez par programmation d'effacer le filtre en posant les tables de données de l'API de recherche de chaîne de caractères vide:
$('#myTable').dataTable().fnFilter('');
ou si vous avez déjà une référence d'objet:
oMyTable.fnFilter('');
OriginalL'auteur James McCormack