bonjour

soit une table de classe .table ... avec les lignes de la table avec des <tr class="wrap">

je souhaite via un champ :

Code html : Sélectionner tout - Visualiser dans une fenêtre à part
<input type="search" class="findNotes" size="20" placeholder="filtrer sur...">

... filtrer les lignes du tableau sur les seules lignes qui commencent par les caractères saisies dans ce champ :

je parviens à faire un truc qui ne retient que les lignes dont les <td> contiennent les caractères saisis :

mon code:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
/// Filtrage des PRATICIENS DE LA LISTE DES PRATICIENS VUS PAR NOM
$(document).on('keyup','.findNotes',function(){
      var div2=$('.table td');
      var motcle=$(this).val();
      if(motcle!=''){
          div2.parents('tr.wrap').show(); // on affiche ou on reaffiche tout
          div2.not(':contains('+motcle+')').parents('tr.wrap').toggle();
          }
      else{
            div2.parents('tr.wrap').show();
      }
});
je ne parviens par à n'afficher que les lignes qui "commencent par ..."

une aide serait sympa

mouchas gracias

PS :
Mon bout de code est en bas de ma page .php dans une balise <script>.
Cela permet sans refaire une requête mysql à chaque caractère saisi de filtrer l'affichage du tableau ... cela me parait propre comme principe.
A chaque appui sur une touche clavier ... keyup ... on a le jQuery qui est interrogé... et les lignes ( en fait les <td> ) qui
ne sont pas porteuses du (des) caractère(s) saisis sont tout simplement rendu invisibles via l'utilisation de .parents() qui va donc cibler la balise <tr> ( parente de la <td> )

mais ... je me répète ... je voudrai simplement que seules les NOMS qui commencent par les caractères saisis restent visibles .