Différences entre versions de « Tutoriel:Scripts:Boutons Radio »
Ligne 35 : | Ligne 35 : | ||
{{step|num=5}} Essayez de cocher les cases à cocher. A chaque fois, une et une seule, est cochée. | {{step|num=5}} Essayez de cocher les cases à cocher. A chaque fois, une et une seule, est cochée. | ||
+ | == Un peu fatigant ? == | ||
+ | Un javascript global peut faire l'affaire, mais il faudra y rentrer la liste des boutons radio | ||
+ | |||
+ | |||
+ | function ggbOnInit() | ||
+ | {var BoutonRadio=["a","e","i","o","u","v"]; | ||
+ | for(i=0;i<BoutonRadio.length;i++) | ||
+ | {ggbApplet.registerObjectUpdateListener(BoutonRadio[i],"radio");} | ||
+ | } | ||
+ | function radio (nom) | ||
+ | { var BoutonRadio=["a","e","i","o","u","v"]; | ||
+ | if (ggbApplet.getValue(nom)) | ||
+ | { | ||
+ | for(i=0;i<BoutonRadio.length;i++) | ||
+ | { | ||
+ | if (nom!=BoutonRadio[i]) | ||
+ | ggbApplet.setValue(BoutonRadio[i],0); | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | |||
+ | (oui, il y a bien un bouton radio "v", mais de légende 'y', "y" n'étant pas accepté comme nom de booléen) | ||
+ | <center><ggb_applet width="600" height="140" version="5.0" ggbBase64="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" /></center> | ||
Version du 4 avril 2015 à 18:57
GeoGebra vous propose bien des cases à cocher (plusieurs pouvant être cochées simultanément), mais pas de boutons radio (un seul d'entre eux est coché).
Cette page vous aide à réaliser une telle situation en utilisant un script, ici un Script GeoGebra.
1 Créez trois cases à cocher, a, b et c.
2 Par clic droit sur la case à cocher a, ouvrez son Dialogue Propriétés et dans l'onglet Script (Par Actualisation), entrez le script suivant dans la zone de texte :
SoitValeur[a,true] SoitValeur[b,false] SoitValeur[c,false]
Assurez vous que Script GeoGebra est bien affiché dans la liste déroulante. N'oubliez pas de validez le script en cliquant sur le bouton OK. Fermez le dialogue propriétés.
3 Répétez la même action avec la case à cocher b, il suffit de remplacer a par b et vice-versa dans le script :
SoitValeur[b,true] SoitValeur[a,false] SoitValeur[c,false]
4 De même avec la case à cocher c :
SoitValeur[b,false] SoitValeur[a,false] SoitValeur[c,true]
5 Essayez de cocher les cases à cocher. A chaque fois, une et une seule, est cochée.
Un peu fatigant ?
Un javascript global peut faire l'affaire, mais il faudra y rentrer la liste des boutons radio
function ggbOnInit() {var BoutonRadio=["a","e","i","o","u","v"]; for(i=0;i<BoutonRadio.length;i++) {ggbApplet.registerObjectUpdateListener(BoutonRadio[i],"radio");} } function radio (nom) { var BoutonRadio=["a","e","i","o","u","v"]; if (ggbApplet.getValue(nom)) { for(i=0;i<BoutonRadio.length;i++) { if (nom!=BoutonRadio[i]) ggbApplet.setValue(BoutonRadio[i],0); } } }
(oui, il y a bien un bouton radio "v", mais de légende 'y', "y" n'étant pas accepté comme nom de booléen)
Une présentation "plus classique" et coloriée :
J'ai créé un point A de style 'point vide ○ ' et de taille 4, non sélectionnable, étiquette affichée, et un point A'=(x(A),y(A)) de style 'point plein ●' et de taille 3, étiquette non affichée.
Un nombre 'choix' prend en compte la valeur associée au bouton choisi.
SoitCouleur[A',"Vert"] | SoitCouleur[B',"Vert"] | SoitCouleur[C',"Vert"] | ||
SoitCouleur[B',"Rouge"] | SoitCouleur[A',"Rouge"] | SoitCouleur[B',"Rouge"] | ||
SoitCouleur[C',"Rouge"] | SoitCouleur[C',"Rouge"] | SoitCouleur[A',"Rouge"] | ||
choix=1 | choix=2 | choix=3 |
Vous pouvez tester en ligne : Cliquez sur un point rouge