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 :
- <select name="country">
- <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 :
- Liste.Add(1, "Afghanistan" );
- Liste.Add(2, "Afrique du sud" );
|
A la place de la forme actuelle qui est:
Code :
- Liste.Add("Afghanistan" );
- Liste.Add("Afrique du sud" );
|
Je vous mets le code complet du script.
Code :
- <SCRIPT LANGUAGE="JavaScript">
- var Liste=new CreerListe("TypeCompe", 10, 200)
- Liste.Add("Afghanistan" );
- Liste.Add("Afrique du sud" );
- Liste.Add("Albanie" );
- Liste.Add("Algérie" );
- Liste.Add("Allemagne" );
- Liste.Add("Andorre" );
- Liste.Add("Angola" );
- Liste.Add("Antigua-et-Barbuda" );
- function CreerListe(nom, hauteur, largeur) {
- this.nom=nom; this.hauteur=hauteur; this.largeur=largeur;
- this.search="";
- this.nb=0;
- this.Add=AjouterItem;
- this.Afficher=AfficherListe;
- this.MAJ=MAJListe;
- }
- function AjouterItem(item) {
- this[this.nb]=item
- this.nb++;
- }
- function AfficherListe() {
- if (document.layers) {
- var Z="<SELECT name="+this.nom+" size="+this.hauteur+">";
- } else {
- var Z="<SELECT name="+this.nom+" size="+this.hauteur+" style='width:"+this.largeur+"'>";
- }
- for (var i=0; i<this.nb; i++) {
- Z+="<OPTION value=\""+this+"\">"+this+"</OPTION>"
- }
- Z+="</SELECT>"
- document.write(Z);
- }
- function MAJListe(txt,f) {
- if (txt!=this.search) {
- this.search=txt
- f.elements[this.nom].options.length=0;
- for (var i=0; i<this.nb; i++) {
- if ( this.substring(0,txt.length).toUpperCase()==txt.toUpperCase() ) {
- var o=new Option(this, this);
- f.elements[this.nom].options[f.elements[this.nom].options.length]=o;
- }
- }
- if (f.elements[this.nom].options.length==1) {
- f.elements[this.nom].selectedIndex=0;
- }
- }
- }
- function ListeCheck() {
- Liste.MAJ(document.forms["monform"].search.value,document.forms["monform"])
- if (document.layers) {
- setTimeout("ListeCheck()", 1001)
- } else {
- setTimeout("ListeCheck()", 100)
- }
- }
- </SCRIPT>
- <FORM name="monform">
- <INPUT type="text" name="search"><BR>
- <SCRIPT language="javascript">
- Liste.Afficher();
- ListeCheck();
- </SCRIPT><br />
- <input type="Submit" name="DellTypeCompte" value="Supprimer" />
- </FORM>
|
Merci beaucoup pour l'aide que vous pourrez m'apporter.
Alex
Message édité par creusois le 30-05-2006 à 11:35:31