Rechercher dans une boite à liste

Rechercher dans une boite à liste - HTML/CSS - Programmation

Marsh Posté le 30-05-2006 à 10:57:30    

Bonjour à tous
 
Je viens de trouver et modifier un petit script bien utile, mais j'ai un peu de mal à finir de le modifier.
 
Voila, c'est un champs text, qui sert à n'afficher que les champs qui commence par le texte saisie dans une boite à liste
 
Mon probleme c'est que ca me fait donc des:

Code :
  1. <select name="country">
  2.    <option value="Albanie">Albanie</option>


 
Moi je souhaiterais que dans value il y est l'id du pays (avec une table SQL bien sur).
QQn pourrait donc m'aider à modifier un peu le script pour faire une liste sous cette forme:

Code :
  1. Liste.Add(1, "Afghanistan" );
  2. Liste.Add(2, "Afrique du sud" );


 
A la place de la forme actuelle qui est:

Code :
  1. Liste.Add("Afghanistan" );
  2. Liste.Add("Afrique du sud" );


 
Je vous mets le code complet du script.

Code :
  1. <SCRIPT LANGUAGE="JavaScript">
  2. var Liste=new CreerListe("TypeCompe", 10, 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. Liste.Add("Andorre" );
  9. Liste.Add("Angola" );
  10. Liste.Add("Antigua-et-Barbuda" );
  11. function CreerListe(nom, hauteur, largeur) {
  12. this.nom=nom; this.hauteur=hauteur; this.largeur=largeur;
  13. this.search="";
  14. this.nb=0;
  15. this.Add=AjouterItem;
  16. this.Afficher=AfficherListe;
  17. this.MAJ=MAJListe;
  18. }
  19. function AjouterItem(item) {
  20. this[this.nb]=item
  21. this.nb++;
  22. }
  23. function AfficherListe() {
  24. if (document.layers) {
  25. var Z="<SELECT name="+this.nom+" size="+this.hauteur+">";
  26. } else {
  27. var Z="<SELECT name="+this.nom+" size="+this.hauteur+" style='width:"+this.largeur+"'>";
  28. }
  29. for (var i=0; i<this.nb; i++) {
  30. Z+="<OPTION value=\""+this+"\">"+this+"</OPTION>"
  31. }
  32. Z+="</SELECT>"
  33. document.write(Z);
  34. }
  35. function MAJListe(txt,f) {
  36. if (txt!=this.search) {
  37. this.search=txt
  38. f.elements[this.nom].options.length=0;
  39. for (var i=0; i<this.nb; i++) {
  40. if ( this.substring(0,txt.length).toUpperCase()==txt.toUpperCase() ) {
  41. var o=new Option(this, this);
  42. f.elements[this.nom].options[f.elements[this.nom].options.length]=o;
  43. }
  44. }
  45. if (f.elements[this.nom].options.length==1) {
  46. f.elements[this.nom].selectedIndex=0;
  47. }
  48. }
  49. }
  50. function ListeCheck() {
  51. Liste.MAJ(document.forms["monform"].search.value,document.forms["monform"])
  52. if (document.layers) {
  53. setTimeout("ListeCheck()", 1001)
  54. } else {
  55. setTimeout("ListeCheck()", 100)
  56. }
  57. }
  58. </SCRIPT>
  59. <FORM name="monform">
  60. <INPUT type="text" name="search"><BR>
  61. <SCRIPT language="javascript">
  62. Liste.Afficher();
  63. ListeCheck();
  64. </SCRIPT><br />
  65. <input type="Submit" name="DellTypeCompte" value="Supprimer" />
  66. </FORM>


 
 
Merci beaucoup pour l'aide que vous pourrez m'apporter.
 
Alex


Message édité par creusois le 30-05-2006 à 11:35:31
Reply

Marsh Posté le 30-05-2006 à 10:57:30   

Reply

Marsh Posté le 30-05-2006 à 11:26:17    

Tu peux éditer, et mettre le code entre balise CODE
 
thx

Reply

Marsh Posté le 30-05-2006 à 11:36:33    

xtof_83 a écrit :

Tu peux éditer, et mettre le code entre balise CODE
 
thx


 
 
Oui pardon,
 
Voila c'est fait, c'est un peu petit mais si tu as de bon yeux c'est effectivement plus clair.
 
Merci pour toutes les reponses eventuelles.

Reply

Marsh Posté le 30-05-2006 à 15:46:32    

Personne à une idée ou un lien vers un script ???

Reply

Sujets relatifs:

Leave a Replay

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