Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1675 connectés 

  FORUM HardWare.fr
  Programmation
  Delphi/Pascal

  [JS] ajouter des méthodes a un <select>

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[JS] ajouter des méthodes a un <select>

n°640378
lorill
Posté le 12-02-2004 à 14:18:03  profilanswer
 

bonjour,
 
je voudrais rajouter des méthodes a un objet select, que ca marche sous IE & moz, 100 balles et un mars.
 
La méthode, je la connais, faut ajouter la méthode dans le prototype, comme par exemple pour une chaine :
 

Code :
  1. String.prototype.trim = function()
  2. {
  3.   return this.replace(/^\s*/, "" ).replace(/\s*$/, "" );
  4. }


 
Le probleme, c'est que ben la, c'est String, mais pour un select, c'est quoi comme objet ?

mood
Publicité
Posté le 12-02-2004 à 14:18:03  profilanswer
 

n°640385
lorill
Posté le 12-02-2004 à 14:21:45  profilanswer
 

bon, pour mozilla, ca passe :
 

Code :
  1. HTMLSelectElement.prototype.kikoo = function()
  2. {
  3.  alert(this.options.length);
  4. }


 
mais sous IE, niet :/

n°640400
the real m​oins moins
Posté le 12-02-2004 à 14:27:02  profilanswer
 

tu peux pas le faire sur une instance de ton objet?
(document.getElementById('idDeTonSelect').prototype.... ?


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°640404
lorill
Posté le 12-02-2004 à 14:28:45  profilanswer
 

the real moins moins a écrit :

tu peux pas le faire sur une instance de ton objet?
(document.getElementById('idDeTonSelect').prototype.... ?


non, parce que je veux l'ajouter dans un .js, sans prérequis sur la page

n°640411
the real m​oins moins
Posté le 12-02-2004 à 14:31:22  profilanswer
 
n°640438
lorill
Posté le 12-02-2004 à 14:46:45  profilanswer
 


raté.
y'a pas d'objet Select, ni sous moz ni sous IE.
et si je modifie directement Object, ca passe sous moz, ca passe pas sous IE (ou plutot, ca passe, mais il retrouve pas ma méthode)

n°640456
walli
Posté le 12-02-2004 à 14:52:42  profilanswer
 

les methodes elles s'appliquent aux elements de ta liste, ou a ta liste en general ?
 
edit : sinon tu peux essayer avec element.selectedIndex pour ie.
le truc c'est que mozilla il risque de pas aimer :/


Message édité par walli le 12-02-2004 à 14:54:59
n°640465
lorill
Posté le 12-02-2004 à 14:54:22  profilanswer
 

walli a écrit :

les methodes elles s'appliquent aux elements de ta liste, ou a ta liste en general ?


a ma liste.

n°640467
lorill
Posté le 12-02-2004 à 14:55:05  profilanswer
 

encore que, c'est pour créer les options de ma liste, donc jpeux ptet essayer de les mettre dans Array

n°640469
lorill
Posté le 12-02-2004 à 14:55:27  profilanswer
 

mais bon, c'est moins fun :/

mood
Publicité
Posté le 12-02-2004 à 14:55:27  profilanswer
 

n°640473
walli
Posté le 12-02-2004 à 14:55:59  profilanswer
 

j'ai edite mon message
mais suis pas convaincue de ce que j'ai mis en fait :whistle:

n°640481
lorill
Posté le 12-02-2004 à 14:57:30  profilanswer
 

walli a écrit :


edit : sinon tu peux essayer avec element.selectedIndex pour ie.
le truc c'est que mozilla il risque de pas aimer :/


gni ?
 
 
mais la mon code c'est un exemple, je veux pouvoir rajouter n'importe quelle méthode (en l'occurence, conversion du contenu vers chaine, et dans l'autre sens)

n°640487
walli
Posté le 12-02-2004 à 15:01:20  profilanswer
 

lorill a écrit :


gni ?
 
 
mais la mon code c'est un exemple, je veux pouvoir rajouter n'importe quelle méthode (en l'occurence, conversion du contenu vers chaine, et dans l'autre sens)


 
oui, mais le element.selectedIndex c'est a la place du HTMLSelectElement sous mozilla, pour que ca passe sous ie..
suis pas assez claire ?
 
tu fais un htc a part au fait pour ton select ?

n°640489
lorill
Posté le 12-02-2004 à 15:03:56  profilanswer
 

walli a écrit :


oui, mais le element.selectedIndex c'est a la place du HTMLSelectElement sous mozilla, pour que ca passe sous ie..
suis pas assez claire ?


je crois surtout que t'es a coté, ou alors y'a un truc que je comprends pas.
 
HTMLSelectElement, c'est le nom de l'objet associé au tag <select>, pas l'élement sélectioné de la liste.
 
et autre truc bizarre :  
maliste.options n'est pas une instance d'Array

n°640490
lorill
Posté le 12-02-2004 à 15:04:19  profilanswer
 

walli a écrit :


tu fais un htc a part au fait pour ton select ?


:??:

n°640492
lorill
Posté le 12-02-2004 à 15:06:18  profilanswer
 

gagné, c'est pas un Array mais un HTMLOptionsCollection :/
et sous ie, ben je sais pas :o

n°640497
walli
Posté le 12-02-2004 à 15:08:23  profilanswer
 

lorill a écrit :


je crois surtout que t'es a coté, ou alors y'a un truc que je comprends pas.
 
HTMLSelectElement, c'est le nom de l'objet associé au tag <select>, pas l'élement sélectioné de la liste.
 
et autre truc bizarre :  
maliste.options n'est pas une instance d'Array


 
d'accord, j'etais a cote [:dawa]
 
je regarde quand meme si je trouve pas une idee..

n°640500
Hermes le ​Messager
Breton Quiétiste
Posté le 12-02-2004 à 15:08:47  profilanswer
 


 
Si j'arrivais à REELEMENT comprendre ce que tu cherches à faire, je pourrais peut être t'aider. [:spamafote]
 
Mais là, c'est trop théorique pour moi. Il me faudrait un truc un peu plus concret. Que veux-tu faire exactement concrêtement (quand je dis concrêtement, ça veut dire "sans parler d'objet, d'instance, de méthode etc...".)

n°640502
walli
Posté le 12-02-2004 à 15:09:34  profilanswer
 


 
bah ouais, nous on a tendance a faire des .htc pour tout ce qui est select, checkbox, input..., des qu'on a des methodes particulieres a leur attribuer..

n°640507
the real m​oins moins
Posté le 12-02-2004 à 15:14:04  profilanswer
 

c'est quoi HTC que le monsieur veut savoir [:mlc]


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°640509
Hermes le ​Messager
Breton Quiétiste
Posté le 12-02-2004 à 15:15:15  profilanswer
 

the real moins moins a écrit :

c'est quoi HTC que le monsieur veut savoir [:mlc]


 
tiens oui au fait, ça m'intéresse aussi.  :D

n°640517
walli
Posté le 12-02-2004 à 15:18:08  profilanswer
 

Hospitalisation à Temps Complet !!

n°640518
lorill
Posté le 12-02-2004 à 15:18:42  profilanswer
 

hermes le messager a écrit :

(quand je dis concrêtement, ça veut dire "sans parler d'objet, d'instance, de méthode etc...".)  


ben ca va etre dur alors, parce que je voudrais bien que ce soit générique.
 
bon, essayons quand même.
J'ai une liste (tag <select> ) dans ma page.
Je veux la garnir dynamiquement en fonction de deux de mes variables de type chaine, une contenant les labels séparés par des virgules, l'autres les valeurs séparés de la même maniere.
 
Je sais garnir cette liste, de cette maniere :

Code :
  1. function garnir(liste, labels, values)
  2. {
  3.   //split, for, new Option()
  4. }


 
a l'utilisation, ca donne  

Code :
  1. garnir(document.getElementById('list'), labels, values)


 
et moi je veux

Code :
  1. document.getElementById('list').garnir(labels, values)


 
c'est plus clair ?
en gros, ca sert pas a grand chose, mais je suis obstiné

n°640520
lorill
Posté le 12-02-2004 à 15:19:26  profilanswer
 

j'ai toujours pas capté ces histoires d'htc :o

n°640522
Hermes le ​Messager
Breton Quiétiste
Posté le 12-02-2004 à 15:20:11  profilanswer
 

C'est tout de suite plus clair là. Attend je regarde quelques trucs sur mon éditeur. ;)

n°640530
lorill
Posté le 12-02-2004 à 15:24:24  profilanswer
 

bon, pour une instance particuliere, c'est facile, suffit de rajouter la méthode avec un truc genre
 

Code :
  1. function kikoo()
  2. {
  3.  alert(this.options.length);
  4. }
  5. function ajouteKikoo(list)
  6. {
  7.  list.kikoo = kikoo
  8. }


 
mais pour que ca marche automatiquement pour toutes les listes, c'est autre chose :o

n°640531
walli
Posté le 12-02-2004 à 15:24:34  profilanswer
 

lorill a écrit :

j'ai toujours pas capté ces histoires d'htc :o


 
c'est un langage qui fait partie de javascript, je pensais que c'etait couremment repandu, mais en faisant une recherche rapide sur le net, je me rends compte que non, donc tu peux oublier  :p  
 
mais en gros tu crees un fichier selectLorill.htc.
dans ta page html dans ta balise select tu mets class="selectLorill"
et dans ton fichier htc, tu fous toutes tes methodes liees a ta liste.
ca permet de pas trop charger les fichiers html/js  [:spamafote]  
 
je peux poster un exemple de code si vous voulez, mais ca sera ptet pas tres parlant, car c'est tres specifique a nos produits.
et puis c'est pas l'objet du topic !

n°640541
lorill
Posté le 12-02-2004 à 15:27:37  profilanswer
 

ooh, je connais pas ca :o
j'essaye de suite

n°640543
walli
Posté le 12-02-2004 à 15:28:31  profilanswer
 

lorill a écrit :

ooh, je connais pas ca :o
j'essaye de suite


 
je doute que ca passe avec mozilla.

n°640545
Hermes le ​Messager
Breton Quiétiste
Posté le 12-02-2004 à 15:29:40  profilanswer
 

walli a écrit :


 
je doute que ca passe avec mozilla.


 
Ouai. Ya assez de problème comme ça avec le dom sans encore rajouter des joyeusetés.  :D  Et je commence à savoir de quoi je parle dans ce domaine.

n°640546
lorill
Posté le 12-02-2004 à 15:30:08  profilanswer
 

marche pas, ca les rajoute pas a l'instance.
bon, ben je vais cumuler mon truc propre a une instance avec document.getElementsByTagName [:spamafote]

n°640547
walli
Posté le 12-02-2004 à 15:30:28  profilanswer
 

hermes le messager a écrit :


 
Ouai. Ya assez de problème comme ça avec le dom sans encore rajouter des joyeusetés.  :D  Et je commence à savoir de quoi je parle dans ce domaine.


 
j'attendais avec impatience, la reflexion que tu allais faire  :D  
 
je m'attendais a pire  :lol:

n°640548
walli
Posté le 12-02-2004 à 15:31:26  profilanswer
 

lorill a écrit :

marche pas, ca les rajoute pas a l'instance.
bon, ben je vais cumuler mon truc propre a une instance avec document.getElementsByTagName [:spamafote]


tu fais vite pour tester  :ouch:

n°640565
lorill
Posté le 12-02-2004 à 15:41:14  profilanswer
 

walli a écrit :


tu fais vite pour tester  :ouch:  


ben je suis au taff, donc je bosse  [:sinclaire]

n°640581
Hermes le ​Messager
Breton Quiétiste
Posté le 12-02-2004 à 15:45:49  profilanswer
 

lorill a écrit :


ben je suis au taff, donc je bosse  [:sinclaire]  


 
Un truc tout con, bien que lourd :
 
Tu peux utiliser bêtement un write en JS pour écrire tes nouvelles options avec une boucle en JS.
 
C'est sale, TRES sale même, mais ça devrait marcher.  :whistle:

n°640583
lorill
Posté le 12-02-2004 à 15:46:44  profilanswer
 


j'arrive a ajouter les options proprement et sans probleme, merci.
apres c'est juste de l'enculage de mouches

n°640588
Hermes le ​Messager
Breton Quiétiste
Posté le 12-02-2004 à 15:48:44  profilanswer
 

lorill a écrit :


j'arrive a ajouter les options proprement et sans probleme, merci.
apres c'est juste de l'enculage de mouches


 
ah bon.  :lol:  Oh ben alors, je te laisse continuer...  :D  

n°640592
lorill
Posté le 12-02-2004 à 15:51:31  profilanswer
 

ben en parcourant la liste des instances et en le rajoutant a chaque instance, ca passe, je vais m'arreter la.

n°640594
Hermes le ​Messager
Breton Quiétiste
Posté le 12-02-2004 à 15:54:59  profilanswer
 

lorill a écrit :

ben en parcourant la liste des instances et en le rajoutant a chaque instance, ca passe, je vais m'arreter la.


 
En même temps, c'est vrai que c'est intéressant de pouvoir proposer toute une liste d'un coup en faisant ce que tu fais. Faudra que je regarde ça un peu plus en détail un de ces quatres.

n°652965
Thoo
Posté le 24-02-2004 à 12:47:35  profilanswer
 

lorill a écrit :

bonjour,
 
je voudrais rajouter des méthodes a un objet select, que ca marche sous IE & moz, 100 balles et un mars.
 
La méthode, je la connais, faut ajouter la méthode dans le prototype, comme par exemple pour une chaine :
 

Code :
  1. String.prototype.trim = function()
  2. {
  3.   return this.replace(/^\s*/, "" ).replace(/\s*$/, "" );
  4. }


 
http://www.mattkruse.com/javascrip [...] index.html
 
Et voilà ;o)
 
Le probleme, c'est que ben la, c'est String, mais pour un select, c'est quoi comme objet ?

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Delphi/Pascal

  [JS] ajouter des méthodes a un <select>

 

Sujets relatifs
[mysql] SELECT à partir d'un array() sans faire de boucle ?[java ]recuperer la liste (complete) des methodes via introspection
[DOM] Modifier le style d'un élément SELECT[jbuilder] ajouter package (débutant)
MySQL : pb de ram perdue + requetes "sub select"[C# dot net] comment ajouter des tuples etc dans bdd access ?
[Javascript] disabled/enabled une liste déroulante (balise SELECT)ajouter des composants dans le code
ajouter tableauSELECT sur plusieurs tables
Plus de sujets relatifs à : [JS] ajouter des méthodes a un <select>


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR