[RESOLU] fonction jquery recherche dans une seul colonne d'un tableau

Eléphant du PHP | 195 Messages

16 nov. 2016, 10:40

Bonjour à tous, pourriez vous m'aider?

J'ai cette fonction qui marche très bien qui permet de rechercher dans mon tableau

Code : Tout sélectionner

// recherche dans le tableau $("#search").keyup(function(){ _this = this; $.each($("table tbody tr"), function() { if($(this).text().toLowerCase().indexOf($(_this).val().toLowerCase()) === -1) $(this).hide(); else $(this).show(); }); });

J'aimerais l'adapté pour la recherche dans une seul colonne mais cela ne fonctionne pas, dans ma fonction je récupère bien le champs dans ma liste sélectionné

Code : Tout sélectionner

$("#search_service").on("change", this, function(event) { _this = this; $.each($("table tbody tr"), function() { if($(this).text().toLowerCase().indexOf($(_this).val().toLowerCase()) === -1) $(this).hide(); else $(this).show(); }); });

Merci de votre aide.

Avatar de l’utilisateur
Modérateur PHPfrance
Modérateur PHPfrance | 8682 Messages

16 nov. 2016, 15:54

salut,

a priori il te faut un récupérer ce qu'il y a dans le premier td (qui devrait la première colonne) pour limiter ta recherche.

une aide possible ici : http://codepedia.info/jquery-get-table- ... value-div/


@+
Il en faut peu pour être heureux ......

Eléphant du PHP | 195 Messages

17 nov. 2016, 10:23

Merci de ton aide,

Voilà comment j'ai fais

Code : Tout sélectionner

//recherche dans le tableau du service filtré $("#search_service").on("change", this, function(event) { _this = this; $.each($("table tbody tr"), function() { if($(this).find(".service").text().toLowerCase() === $(_this).val().toLowerCase()) $(this).show(); else $(this).hide(); }); });
pour une ligne du type

Code : Tout sélectionner

print '<td contenteditable="false" class="service" id="service'.$produit['id_inventaire'].'">'.$produit['service'].'</td>';