Forums : Xul, Xbl, JS...

Aller à la discussion :  Plus récente Plus ancienne

# [Résolut] Selection dynamique dans une liste en fonction d'une textbox [PHP,JavaScript,Xul]

Envoyé par : ygalr22

Date : 16/06/2006 16:33

Bonjour à tous, voilà je suis en train de développer un petit logiciel de gestion et je souhaiterais donner à l'utilsateur le choix entre rentrer un N° (de carburant par exemple) dans une textbox ou bien de choisir le libellé correspondant dans une liste. Jusque là rien de très dificile mais ce que je veux faire c'est que lorsque l'utilisateur choisit un item dans la liste le numéro correspondant s'affiche dans la textbox. --> ça c'est fait et ca marche... En revance je voudrais que l'inverse marche aussi CAD que lorsque l'utilisateur tape un N° dans la textbox j'aimerais que l'item selectionné de la liste change en fonction du N°...

Vous avez bien suivit?? OK alors voici un bout de mon code :

==================Page PHP========================================
<label width='250'>Type de carburants du Véhicule: </label>
	<textbox id='num_carbu' size='5' maxlength='2'   value='".$TabRep[4]."' onkeyup=\"Chg_TextList('carbu_vehi','num_carbu',JS_Carb,2)\"/>
	<menulist id='carbu_vehi' oncommand=\"Chg_ListText('carbu_vehi','num_carbu',JS_Carb)\">
		<menupopup>";
		//ajout dynamique d'items dans laliste//
			for ($i=0; $i<=Count($TabCarb[0])-1; $i++){
				if($TabCarb[0][$i]!=$TabRep[3]){
					echo( "<menuitem label='".$TabCarb[0][$i]."'/>");
				}else{
					echo( "<menuitem label='".$TabCarb[0][$i]."' selected='true'/>");
				}
			}

La liste est dynamique, elle se charge en fonction du tableau TabCarb qui recupere ce qu'il y à dans ma base de donnée mais bon, passons à ce qui nous interesse (j'espere que je vous interesse là ;-)) c'est à dire ma fonction JavsScript. onkeyup=\"Chg_TextList('carbu_vehi','num_carbu',JS_Carb,2)\"/> est la ligne d'appel de la fonction dont voici le code :

=====================Fonction Javascript=============================
function Chg_TextList(NomListe,IdTextbox,Tab,Taille){
var num=document.getElementById(IdTextbox).value;
var TailleText=num.length;
var i=0;
if (TailleText==Taille){
while (num != Tab[1][i]){
		i=i+1;
	}		
Text=Tab[0][i];
alert (num+' = '+Text);
document.getElementById(NomListe).selectedItem.setAttribute('label',Text);
 }
}

Bon alor c'est la que ca foire j'aimerais que une foit trouvé le numéro (num) et le libellé (Text) qui vont ensemble (exemple 01=Gazole) je veux que ma liste change d'item sélectionné. Y a t il une méthode pour faire cela en javascrip?? Quelqun peut-il m'aider??

Merki d'avance !!

.o0°Il y à 10 Types d'hommes sur terre : ceux qui comptent en binaire et les autres...°Oo.

# Re: Selection dynamique dans une liste en fonction d'une textbox [PHP,JavaScript,Xul]

Envoyé par : laurentj

Date : 16/06/2006 16:54

met la valeur de l'id du carburant dans un attribut value de tes menuitems. Ce sera déjà beaucoup plus simple de retrouver le libellé correspondant.

ensuite, pour selectionner un item dans la liste : RTFM (traduction : tout est indiqué dans la référence sur xulplanet).

# Re: Selection dynamique dans une liste en fonction d'une textbox [PHP,JavaScript,Xul]

Envoyé par : ygalr22

Date : 19/06/2006 08:59

Moué ce sera pas spécialement plus simple parseque 'label' et 'value' sont a peut pres équivalent au niveau de la récuperation des infos d'ailleur lorsque je fait mon alert dans le JavaScript cela me retrouve bien la valeur et le numéro correspondant, c'est donc que cela marche il ne me reste plus qu'a mettre au bon item l'attribut 'selected=true'...

Ensuite merci pour m'avoir indiqué xulplanet mais en général quand les gens postent sur un forum en francais c'est que (je l'espere) ils on déja cherchés sur d'autres sites et forum mais en vain, c'est le cas pour moi et j'avoue que je ne suis pas ce que l'on peut appeler de 'Very Good in english' donc il est possible que je sois pasé à coté de l'info, mais je te remercie quand meme car je vais y retourner fouinner un peut plus.

PS: Une URL est quand meme toujours la bienvenue ;-)

# Re: Selection dynamique dans une liste en fonction d'une textbox [PHP,JavaScript,Xul]

Envoyé par : ygalr22

Date : 19/06/2006 10:06

Aleluïa (ou un truc comme ça!!)

En fait encore une foi une question conne reste toujours sans réponse donc je me suis mis a me creuser la tete quand meme un petit peut é j'a trouvé!! Héhé...

document.getElementById('carbu_vehi').setAttribute('label',Text).selectitem=Text;

Selectitem au lieu de selecteditem, jy avait pas penssé!!

Bon ba voila alor le code Javascript qui marche :

function Chg_TextList(NomListe,IdTextbox,Tab,Taille){
var num=document.getElementById(IdTextbox).value;
var TailleText=num.length;
var i=0;
var TailleTab = Tab.length
if (TailleText==Taille){
	/*tant que le N° est différent du numéro dans tableau   parcourut et que i<= taille total du tableau +1*/
	while (Tab[1][i] != num & i<=TailleTab+1){
			i=i+1;
		}
	/*si i=Taille total du tableau --> le N° entré  n'existe pas dans la base*/
	if (i<=TailleTab+1){
		Text=Tab[0][i];
		 document.getElementById('carbu_vehi').setAttribute('label',Text).selectitem=Text;
	}else{
		alert ('Le N° entré n\'existe pas dans la base  veuillez recommencer ou en créer un nouveau.');
	}
}
}

# Re: Selection dynamique dans une liste en fonction d'une textbox [PHP,JavaScript,Xul]

Envoyé par : chBok

Date : 19/06/2006 10:34

ygalr22 > La documentation est en effet plus riche en anglais qu'en français, mais l'équipe de xulfr oeuvre pour réduire cet écart, mais il reste encore beaucoup de travail.

Pour ta question, tu peux très bien ajouter des attributs personnels à tes listes et de leur affecter des valeurs. Il faut juste éviter des noms d'attributs existants. En général pour les listes, il faut se servir de l'attribut value.

Il n'est plus possible de poster des messages dans ce forum.


Copyright © 2003-2013 association xulfr, 2013-2016 Laurent Jouanneau - Informations légales.

Mozilla® est une marque déposée de la fondation Mozilla.
Mozilla.org™, Firefox™, Thunderbird™, Mozilla Suite™ et XUL™ sont des marques de la fondation Mozilla.