Filtre dynamique ... [Résolu]

Signaler
Messages postés
62
Date d'inscription
mercredi 3 novembre 2004
Statut
Membre
Dernière intervention
5 mai 2010
-
cs_lacousine
Messages postés
58
Date d'inscription
mardi 6 janvier 2004
Statut
Membre
Dernière intervention
13 juillet 2007
-
Hello !

Je cherche un script me permettant de filtrer dynamiquement des données à l'aide d'une combobox. (ex. liste de membres, filtrer les hommes ou femmes, au final doit s'afficher uniquement les données utiles ici dans l'exemple soit la liste des hommes soit la liste des femmes)

Ca doit être simple, mais je n'arrive pas à le faire, ni à trouver qqch d'intéressant ... Pouvez-vous me donner un coup de main ?

Merci pour votre aide.
Hector

9 réponses

Messages postés
289
Date d'inscription
vendredi 11 mars 2005
Statut
Membre
Dernière intervention
3 avril 2008
3
Salut!

Voici quelques ajustement :


<html>
<head>
<title>Untitled</title>
</head>

<form name=
"form">
<select name=
"liste" onchange=
"o=this.selectedIndex;document.getElementById(this.options[o].value).style.display='block';document.getElementById(this.options[(o==0?1:0)].value).style.display='none';">
<option name=
"H" value=
"homme">Homme</option>
<option name=
"F" value=
"femme">Femme</option>
</select>
</form>

border=
\"1\"
cellspacing=
\"0\"
cellpadding=
\"0\">

----
MEMBRES
|

----

"display:none;" id =
"homme">

<table>

----
Masculin
|

----, Alain
</td>

----
Paul
,

----
Théo
,

"display:none;" id=
"femme">

----
Féminin
|

----
Aline
,

----
Paulette
,

----
Thérèse
,

</td></tr></table>

</html>

A+, Ghislain
Messages postés
289
Date d'inscription
vendredi 11 mars 2005
Statut
Membre
Dernière intervention
3 avril 2008
3
Salut!

Est-ce dynamique avec des données qui sont mis a jour a partir du serveur ou elle sont dynamique mais déjà transferer en local par des tableaux (array) javascript ou variable statique contenant du html?

A+
Messages postés
62
Date d'inscription
mercredi 3 novembre 2004
Statut
Membre
Dernière intervention
5 mai 2010

Hello !

En fait il n'y a pas de base de données, il faudrait trouver un moyen simple du style tableau html que l'on affiche ou masque selon les besoins. Ou autre proposition simple à mettre à jour.

Merci pour votre aide.
Julien
Messages postés
289
Date d'inscription
vendredi 11 mars 2005
Statut
Membre
Dernière intervention
3 avril 2008
3
Salut!

Voici un exemple simple avec des données statiques :


<!DOCTYPE HTML PUBLIC
"-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Untitled</title>
</head>

<form action=
"">
Homme
Femme
</form>

border=
\"1\"
cellspacing=
\"0\"
cellpadding=
\"0\">

----
MEMBRES
|

----

"display:none;" id =
"homme">

<table>

----
Masculin
|

----, Alain
</td>

----
Paul
,

----
Théo
,

"display:none;" id=
"femme">

----
Féminin
|

----
Aline
,

----
Paulette
,

----
Thérèse
,

</td></tr></table>

</html>

A+, Ghislain
Messages postés
62
Date d'inscription
mercredi 3 novembre 2004
Statut
Membre
Dernière intervention
5 mai 2010

Hello !

Merci pour le coup de main c'est preque ça que je veux faire ;-)

Il faudrait juste modifier les checkbox par une combo, mais
je n'y arrive pas. Je pense que l'erreur se situe dans cette
ligne : "this.selected" comment faut il procéder ?

Merci pour votre aide.
Yves

<html>
<head>
<title>Untitled</title>
</head>

<form action="">


<select name="liste">
<option name="H" value="H" onclick="document.getElementById('homme').style.display=this.selected?'block':'none';">Homme</option>
<option name="F" value="F" onclick="document.getElementById('femme').style.display=this.selected?'block':'none';">Femme</option>
</select>



</form>
MEMBRES |
----
<table>
----
Masculin |
----, Alain</td>
----
Paul,
----
Théo



Féminin |
----
Aline,
----
Paulette,
----
Thérèse



</td></tr></table>

</html>
Messages postés
62
Date d'inscription
mercredi 3 novembre 2004
Statut
Membre
Dernière intervention
5 mai 2010

Merci c'est exactement ça.
Merci pour le coup de main !

Bonne journée.
Pierre
Messages postés
58
Date d'inscription
mardi 6 janvier 2004
Statut
Membre
Dernière intervention
13 juillet 2007

Source intéressante, mais je me demandais s'il étais possible de créer une autre liste a partir de la première?

exemple :

présentement on a un comobox avec 2 sexes différent .. en cliquant desssus , j'aimerais faire afficher à coté du premier un nouveau combobox avec les données :

Mieux vaut être blonde et poser des questions que de rester ignorante !!!!
Messages postés
4
Date d'inscription
vendredi 18 novembre 2005
Statut
Membre
Dernière intervention
26 décembre 2005

moi aussi je pose la même question,
sinon ça sera pas vraiment utile de faire un filtre simple.

.RAMDN
Messages postés
58
Date d'inscription
mardi 6 janvier 2004
Statut
Membre
Dernière intervention
13 juillet 2007

voici ce que moi j'ai fait :

<select name="Categorie" onchange="changer_liste(this)">

<option value="musique" selected>art musical</option>

<option value="visuel">art visuel</option>

<option value="scene">art de la scene</option>

</select>

<select id="musique" name="art_musical">
<option value="0"></option>
<option value="1">musique ambiance_classique</option>
<option value="2">musique autre</option>
<option value="3">musique jazz_blues</option>
<option value="4">musique pop_rock_urbaine</option>
<option value="5">musique monde</option>
<option value="6">musique underground</option>
</select>

<select id="visuel" name="art_visuel" style="display:none;">
<option value="0"></option>
<option value="1">visuel autre</option>
<option value="2">visuel peintre</option>
<option value="3">visuel sculpteur</option>
</select>

<select id="scene" name="art_de_la_scene" style="display:none;">
<option value="0"></option>
<option value="1">scene amuseur public</option>
<option value="2">scene animation</option>
<option value="3">scene humour</option>
</select>

// Pour ne pas afficher les 3 listes, il faut appeler cette fonction.
// Elle permet d'afficher la liste demandé ( un peu dynamiquement )

function changer_liste( list )
{
var index = list.selectedIndex;
var i;
var sublist;

for (i = 0; i < list.length; i++)
{
sublist = document.getElementById( list.options[i].value );
sublist.style.display = (i==index)?'block':'none';
}
}

Ce code est le copie/coller d'un code que j'ai utilisé cette été et il est fonctionnel. Surement que vous devrez l'adapter pour votre code.

Mieux vaut être blonde et poser des questions que de rester ignorante !!!!