concatener des chaines

concatener des chaines - HTML/CSS - Programmation

Marsh Posté le 15-02-2008 à 11:00:22    

Salut a tous, j ai une fonction javascript myfunction(id) qui recoit un seul argument id (un chiffre)a chaque fois,
je voudrais qu a la fin de l execution de la function cela me retourne l aggregation de tous les id qui ont ete passer dans la function.

 

Par exemple , si je passe 15 ,34,54,68 il faudrait au a la fin je me retrouve avec un truc genre 15-34-54-68, je me bas avec string.contact mais ca a pas l air de marcher,

 

merci


Message édité par krifur le 15-02-2008 à 11:44:28
Reply

Marsh Posté le 15-02-2008 à 11:00:22   

Reply

Marsh Posté le 15-02-2008 à 13:07:13    

En Javascript, la concaténation se fait habituellement avec le signe plus (+).  
S'il s'agit d'un nombre, on peut le convertir en chaine avec toString().
Donc
param1 = 15
param2 = 34
param3 = 54
param4 = 68
truc=toString(param1)+"-"+toString(param2)+"-"+toString(param3)+"-"+toString(param4)

Reply

Marsh Posté le 15-02-2008 à 13:32:51    

ok merci je vais essayer avec ca, sinon comme j apelle plusieurs fois la fonction je voudrais que soit stocker les arguments les uns a la suite des autres

 

un truc comme ca :o
myfunction(id) {
part = +id;
agregation = agregation +part;

 

return agregation;}   // retour expecter 15-34-54-68

 

voila ca a l air simple comme ca, mais j y arrive pas :/


Message édité par krifur le 15-02-2008 à 13:38:58
Reply

Marsh Posté le 15-02-2008 à 14:29:00    

olivthill a écrit :

En Javascript, la concaténation se fait habituellement avec le signe plus (+).
S'il s'agit d'un nombre, on peut le convertir en chaine avec toString().
Donc
param1 = 15
param2 = 34
param3 = 54
param4 = 68
truc=toString(param1)+"-"+toString(param2)+"-"+toString(param3)+"-"+toString(param4)


euh :/ :/ :/
toString n'est pas une fonction mais une méthode de la classe Number.
On l'utilise donc ainsi:

Code :
  1. param1.toString()


Mais c'est complètement inutile car js caste automatique ton Number en String dans la cas d'une concaténation.
Il suffit donc d'écrire:

Code :
  1. truc=param1+"-"+param2+"-"+param3+"-"+param4;
 
krifur a écrit :

ok merci je vais essayer avec ca, sinon comme j apelle plusieurs fois la fonction je voudrais que soit stocker les arguments les uns a la suite des autres

 

un truc comme ca :o
myfunction(id) {
part = +id;
agregation = agregation +part;
return agregation;}   // retour expecter 15-34-54-68
voila ca a l air simple comme ca, mais j y arrive pas :/


Je sais pas ce que tu essayes de faire mais a mon avis tu prends pas le problème dans le bon sens... :/
Donc tu as quoi ? un ensemble de variables que tu souhaites concaténer entre elles?


Message édité par anapajari le 15-02-2008 à 14:30:28

---------------
Software and cathedrals are much the same - first we build them, then we pray.
Reply

Marsh Posté le 15-02-2008 à 14:42:32    

OK, alors j'ai une gallerie de photo extraite d une base que j affiche classiquement(html) pour chaque photo j ajoute la fonction  
onclick="myfunction('.$v['id'].')
 
et mon but et que cette fonction memorise tous les id qu on lui a passer, en gros toutes les photos sur lequelles l'utilisateur a cliquer, comme ca je peux recuperer cette variable et la passer a une fonction ajax par la suite qui fait des trucs en fonction de cette variable ...
 
La variable devrait ressembler a ca 15-34-54-68 mais impossible de faire une agregation/concatenation en javascript car je suis une tache dans ce language, j espere que c est realisable au moins :/...

Reply

Marsh Posté le 15-02-2008 à 15:24:04    

Tout d'abord, je te conseillerais de faire un tableau avec tes éléments cliqués, puis lorsque tu en as besoin faire un join de celui-ci pour obtenir ta chaine.
 
Ensuite tu as 2 solutions:
1/ tu crées une variable globale pour à ta page, à chaque appel de ta fonction tu la modifie:

Code :
  1. <script type="text/javascript">
  2. var  mesImages = []; //dedicace gatsu-corp
  3. function maFonction(id){
  4. mesImages.push(id);
  5. ...
  6. }


 
2/tu te fais une class "maGallerie" avec une variable static pour stocker les elements cliqués
 
Maintenant, je me demande comment tu peux envisager de faire de l'ajax sans connaitre les bases du js :/


---------------
Software and cathedrals are much the same - first we build them, then we pray.
Reply

Marsh Posté le 15-02-2008 à 15:51:13    

ok merci, en fait j avais trouver le coup de la variable globale j'avoue je suis pas encore au niveau en js, toujours sous estimer ce language mais je rattrape mon retard ... enfin la il faut encore que je transforme un chiffre en string et ca fonctionne pas...
 
mon embryon de code
 
 var glob ="";
 
 function myfunction(id) {
 part = +id;
 glob = glob +part +"-";
 alert(+glob);
 }
 
je croyais que javascript transformer les types de variables automatiquement en string si il le detecter comme si ?
 
merci
 
 
 

Reply

Marsh Posté le 15-02-2008 à 16:06:52    

nan mais si tu faisais pas n'importe quoi aussi ...

Code :
  1. var glob ="";
  2. function myfunction(id) {
  3.   glob = id +"-";
  4.   alert(glob);
  5. }


 


Message édité par anapajari le 15-02-2008 à 16:07:24

---------------
Software and cathedrals are much the same - first we build them, then we pray.
Reply

Marsh Posté le 15-02-2008 à 16:30:02    

merci mais il manque l agregation  :o  mais je te remercie qd meme


Message édité par krifur le 15-02-2008 à 16:30:32
Reply

Sujets relatifs:

Leave a Replay

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