Page 1 sur 1

Trier une liste en mode case-insensitive

Posté : 10 mars 2012, 01:07
par Elie
Bonjour,

J'ai une liste et je voudrais la trier en javacript.

Je pensais passé par la balise Title mais les selectors CSS ne sont pas insensitive du coup ca ne marche pas.
J'ai vu que les class le sont mais n'accepte pas les espaces.
Donc je ne sais pas trop comment faire.
<ul>
 <li title="Studio A">Studio A
  <ul>
   <li title="Studio A > Li 1">Li1</li>
   <li title="Studio A > Li 2">Li2</li>
  </ul>
 </li>
 <li title="Studio B">Studio B
  <ul>
   <li title="Studio B > Li 1">Li1</li>
   <li title="Studio A > Li 2">Li2</li>
  </ul>
 </li>
</ul>
J'étais parti sur cette logique la.

Code : Tout sélectionner

function filtrer() { $('li[title*="'+$('#rechercher').val()+'"]').each(function() { alert($(this).html()); }); return false; }
Mais si je cherche "studio" ca ne trouve rien. Il faudrait chercher "Studio".

Des idées ?

Merci,

Elie

Re: Trier une liste en mode case-insensitive

Posté : 11 mars 2012, 13:55
par Aureusms
Par les Regex ?
function filtrer() {
      var valeur = $('#rechercher').val();
      var exp = new Regex (valeur,"gi");
      $('li[title*]').each(function() {
         var chaine = $(this);
         if (exp.test(chaine))
             alert(chaine.html());
      });
      
      return false;
      
   }
vérifie $('li[title*]'), je ne sui spas chez moi et je ne peux pas vérifier la syntaxe d'où je suis.