Skip to content

Aurélien STRIDE

  • Projets personnels
    • Projets Web personnels
    • Language-of.love
    • Squary Movey / Taiketsu-Doku
    • Sudokube / Wordokube / Linkube
    • Recyclage Augmenté
    • Réflexions en 3D
    • Fièvre de cheval du samedi soir
    • Concours divers
  • Dessins
    • 1998 – Arts Appliqués
    • Actualités
    • Compteurs d’eau
    • Divorce
    • Enquêtes
    • GPS
    • Immobilier
    • Informatique
    • Psycho
    • SNCF
    • Vie de couple
    • Dessins divers
  • Musiques
    • 2016 – Oxydoréduction
    • 2012-Maint. – Mashups
    • 2008-2016 – Indaba Remixes
    • 2013 – Live @ Mistral Palace
    • 2012 – Symphonie Electronique
    • 2010 – Metric : Fantasies
    • 2008 – Marcy Playground : Leaving Wonderland
    • 2008-2010 – Ganadji-Nesis
    • 2008-2009 – Mandalas
    • 2007-2009 – Electrons Libres
    • 2006-2007 – Manifest for a generation
    • 2003 – De Inferni Profundis
    • 1997 – MODified
    • Par genre
      • Ambient
      • Jazz
      • Hip-Hop
      • Nightclub
    • Morceaux non classés
    • Vidéos musicales
    • Playlist Soirée Château de Fitou
  • Travaux graphiques
    • Affiches / Flyers
    • Cartes de visite
    • Jaquettes CD-DVD
    • Logos & Bannières
    • Photomontages
    • Sketchups
    • Weavesilk
  • Tutoriels
    • Les outils du dépanneur informatique
    • Liste de mes programmes favoris
    • L’installation idéale d’un OS
    • Installer un serveur web sous Unix
  • Liens favoris
  • Road Trip

Aurélien STRIDE

Life & Works

Un bug bizarre entre jQuery et les combo

22 octobre 2019 by webmaster

J’ai voulu mettre en place un système simple de filtrage de combo (liste déroulante) avec un champ texte associé.

Liste déroulante

J’applique une fonctio jQuery sur le onKeyUp de la zone associé à cette fonction :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
function filterCbo(name, val)
{
	$('select[name="'+name+'"] option').show();
	if(!val) 
	{
		return;
	}
	
	$('select[name="'+name+'"] option').each(function() {
		text=$(this).text();
		text=text.toLowerCase();
		if(text.indexOf(val)!=-1)
		{
			$(this).hide();
		}
	});
}

 

Autant le hide() sur les options fonctionne, autant la hauteur de la liste déroulante se réduit jusqu’à 0 au fur et à mesure du filtrage !!! Et au final, on ne peut rien sélectionner.

L’attribut size, que de nombreux forums publient come LA solution, transforme la liste déroulante en liste-tableau, et le hide() sur les options ne fonctionne plus.

Au final, je me suis rabattu sur l’emploi de l’attribut selected qui m’affiche le premier item correspondant au filtre.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
function filterCbo(name, val)
{
	$('select[name="'+name+'"] option').removeAttr('selected').removeAttr('disabled');
	if(!val) 
	{
		// $('select[name="'+name+'"]').removeAttr('size');
		return;
	}
	
	$('select[name="'+name+'"] option').each(function() {
		text=$(this).text();
		text=text.toLowerCase();
		if(text.indexOf(val)!=-1)
		{
			$(this).attr('selected','selected');
			return;
		}
	});
	
	$('select[name="'+name+'"]').val($('select[name="'+name+'"] option[selected="selected"]:eq(0)').attr('value'));
}

Post navigation

Previous Post:

Je m’ennuie sur la Toile…

Next Post:

Un volontaire pour annoncer ses regrets [MAJ]

[Mashup] Canned Heat meets Mar-Keys - Let's work last night
[Remix] Skype Ringtone
  • Blog
  • Dessins
    • 1998 - Arts Appliqués
    • Actualités
    • Compteurs d'eau
    • Dessins divers
    • Divorce
    • Enquêtes
    • GPS
    • Immobilier
    • Informatique
    • Psycho
    • SNCF
    • Vie de couple
  • Ecrits
    • Chanson : Albinoni mélancolique
    • Chanson : Igor le fantôme
    • Chanson : J'ai besoin de vacances...
    • Chanson : Leave me alone
    • Livre : Discours pour la Présidence
    • Livre : L'affaire des brosses à dents
    • Livre : Le lycanthrope contemporain
    • Livre : Mon perfectionnisme
    • Livre : My Ultimate Fonts Collection
    • Poème : Amour
    • Poème : Au revoir
    • Poème : Dévouement
    • Poème : Everlasting
    • Poème : Infidèle
    • Poème : La route est longue
    • Poème : Messages
    • Poème : Ô Nuit
    • Poème : Regard
    • Poème : Romance
    • Poème : Sadness
    • Poème : Un inadapté
    • Poème : Vouloir mourir
    • Poème : Voyage Initiatique
  • Emploi
    • 1999 - Menuisier chez Manpower
  • Liens favoris
  • Musiques
    • 1997 - MODified
    • 2003 - De Inferni Profundis
    • 2006-2007 - Manifest for a generation
    • 2007-2009 - Electrons Libres
    • 2008 - Marcy Playground : Leaving Wonderland
    • 2008-2009 - Mandalas
    • 2008-2010 - Ganadji-Nesis
    • 2008-2016 - Indaba Remixes
    • 2010 - Metric : Fantasies
    • 2011-2013 - Liaisons Covalentes
    • 2012 - Symphonie Electronique
    • 2012-2023 - Mashups
    • 2013-2015 - Lives @ Mistral Palace
    • 2016 - Music Maker Jam (Android)
    • 2016 - Oxydoréduction
    • Morceaux non classés
    • Par genre
      • Ambient
      • Disco
      • Hip-Hop
      • Jazz
      • Nightclub
      • Playlist Soirée Château de Fitou
    • Vidéos musicales
  • Projets personnels
    • Concours divers
    • Fièvre de cheval du samedi soir
    • Language-of.love
    • Projets Web personnels
    • Recyclage Augmenté
    • Réflexions en 3D
    • Squary Movey / Taiketsu-Doku
    • Sudokube / Wordokube / Linkube
  • Qui suis-je ?
  • Travaux graphiques
    • Affiches / Flyers
    • Cartes de visite
    • Jaquettes CD-DVD
    • Logos & Bannières
    • Photomontages
    • Sketchups
    • Weavesilk
  • Tutoriels
    • Installer un serveur web sous Unix
    • L'installation idéale d'un OS
    • Les outils du dépanneur informatique
    • Liste de mes programmes favoris
© 2025 Aurélien STRIDE - Powered by Minimalisticky