[JavaScript] Rechercher dans une boite a liste

Rechercher dans une boite a liste [JavaScript] - HTML/CSS - Programmation

Marsh Posté le 12-06-2006 à 15:30:36    

Bonjour à tous,
 
Je viens vous soliciter pour la modification d'un script Javascript.
 
Voila c'est simple, j'ai une boite à liste (SELECT) et au dessus un champs input. Ce champs sert de "filtre en live" pour la boite à liste au dessus.
Exemple: Dans le select il y a tout les pays du monde, si vous taper dans le champs au dessus fr vous n'aurez plus que les pays commencant par fr dans le select.
 
Bref, j'ai trouvé ce script sur toutjavascript.com.
Le probleme c'est que il me fait le code suivant:
 

Code :
  1. <option value="France">France</option>


 
Moi je voudrais bien qu'il prenne l'id du pays et non le contenu dans le value. Serait-il possible de changer donc la variable de tableau javascript qui est:
 

Code :
  1. Liste.Add("Afghanistan" );


 
en :
 

Code :
  1. Liste.Add(1, "Afghanistan" );


 
???
Si oui, il faut surement apporter des modifications, quelqu'un pourrait-il donc m'aider ?
 
Merci.
 
Le code si dessous:
 

Code :
  1. <SCRIPT LANGUAGE="JavaScript">
  2. var Liste=new CreerListe("Pays", 5, 200)
  3. Liste.Add("Afghanistan" );
  4. Liste.Add("Afrique du sud" );
  5. Liste.Add("Albanie" );
  6. Liste.Add("Algérie" );
  7. Liste.Add("Allemagne" );
  8. function CreerListe(nom, hauteur, largeur) {
  9. this.nom=nom; this.hauteur=hauteur; this.largeur=largeur;
  10. this.search="";
  11. this.nb=0;
  12. this.Add=AjouterItem;
  13. this.Afficher=AfficherListe;
  14. this.MAJ=MAJListe;
  15. }
  16. function AjouterItem(item) {
  17. this[this.nb]=item
  18. this.nb++;
  19. }
  20. function AfficherListe() {
  21. if (document.layers) {
  22.  var Z="<SELECT name="+this.nom+" size="+this.hauteur+">";
  23. } else {
  24.  var Z="<SELECT name="+this.nom+" size="+this.hauteur+" style='width:"+this.largeur+"'>";
  25. }
  26. for (var i=0; i<this.nb; i++) {
  27.  Z+="<OPTION value=\""+this[i]+"\">"+this[i]+"</OPTION>"
  28. }
  29. Z+="</SELECT>"
  30. document.write(Z);
  31. }
  32. function MAJListe(txt,f) {
  33. if (txt!=this.search) {
  34.  this.search=txt
  35.  f.elements[this.nom].options.length=0;
  36.  for (var i=0; i<this.nb; i++) {
  37.   if ( this[i].substring(0,txt.length).toUpperCase()==txt.toUpperCase() ) {
  38.    var o=new Option(this[i], this[i]);
  39.    f.elements[this.nom].options[f.elements[this.nom].options.length]=o;
  40.   }
  41.  }
  42.  if (f.elements[this.nom].options.length==1) {
  43.   f.elements[this.nom].selectedIndex=0;
  44.  }
  45. }
  46. }
  47. function ListeCheck() {
  48. Liste.MAJ(document.forms["monform"].search.value,document.forms["monform"])
  49. if (document.layers) {
  50.  setTimeout("ListeCheck()", 1001)
  51. } else {
  52.  setTimeout("ListeCheck()", 100)
  53. }
  54. }
  55. </SCRIPT>


 

Code :
  1. <FORM name=monform>
  2. <INPUT type=text name=search><BR>
  3. <SCRIPT language=javascript>
  4. Liste.Afficher();
  5. ListeCheck();
  6. </SCRIPT>
  7. </FORM>

Reply

Marsh Posté le 12-06-2006 à 15:30:36   

Reply

Marsh Posté le 12-06-2006 à 16:05:12    

Reply

Marsh Posté le 12-06-2006 à 16:52:26    


 
Et ?
 
Je post ici, et puis sur un forum un peu plus spécialisé dans le domaine. Mais malheureusement je n'ai ni sur l'un, ni sur l'autre de reponse.  
 
Parce que le multi-post sur deux forums differents est interdit ?

Reply

Marsh Posté le 12-06-2006 à 17:56:03    

non, mais vu que je suis tomber sur ça, à ma premiére recherche google...ça me fait sourire...
 
Sinon tu as le systéme recherche sur ce forum (non c'est pas une blague)... et tu verras que ce sujet à déjà été abordé 1000 fois.. :o
 
;)+

Reply

Marsh Posté le 12-06-2006 à 18:44:41    

xtof_83 a écrit :

non, mais vu que je suis tomber sur ça, à ma premiére recherche google...ça me fait sourire...
 
Sinon tu as le systéme recherche sur ce forum (non c'est pas une blague)... et tu verras que ce sujet à déjà été abordé 1000 fois.. :o
 
;)+


 
Deja referencé ??? Et bien, impressionnant, je l'ai posté ce matin.
 
Sinon heuu moi je veux bien faire des recherches, que j'ai d'ailleur faites, mais rien à faire.
 
Dis moi qu'elles sont les mots clefs ?

Reply

Marsh Posté le 12-06-2006 à 19:40:18    

Reply

Marsh Posté le 12-06-2006 à 20:49:15    


 
Et bien j'ai regardé tout les liens et a part mes deux posts, je ne vois pas une ressemblance avec mon probleme, donc je redemande si quelu'un a une idée

Reply

Marsh Posté le 12-06-2006 à 23:08:22    

Non c'est sur, personne n'a exactement le même souci que toi...ça je laccorde, mais tous voulais savoir comment fait intéragir 2 select...  Donc regarde un peu plus....

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed