Différences entre versions de « Tutoriel:Scripts:Boutons Radio »
(16 versions intermédiaires par 3 utilisateurs non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
+ | {{Tutoriel|titre=Scripts : Boutons Radio}} | ||
+ | |||
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é). | 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é). | ||
Ligne 32 : | Ligne 34 : | ||
{{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> | ||
+ | |||
+ | |||
+ | [http://www.geogebra.org/student/m958225 à tester en ligne] | ||
+ | </center> | ||
+ | |||
+ | |||
+ | ==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. <br/>Un nombre 'choix' prend en compte la valeur associée au bouton choisi. | ||
+ | |||
+ | <center> | ||
+ | {| | ||
+ | |- | ||
+ | | 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''' | ||
+ | |||
+ | |||
+ | <ggb_applet width="220" height="100" version="4.2" id="38402" framePossible = "true" showResetIcon = "false" showAnimationButton = "true" enableRightClick = "false" errorDialogsActive = "true" enableLabelDrags = "false" showMenuBar = "false" showToolBar = "false" showToolBarHelp = "false" showAlgebraInput = "false" useBrowserForJS = "true" allowRescaling = "true" /> | ||
+ | </center> | ||
+ | [[Catégorie:Tutoriel]] |
Version actuelle datée du 29 novembre 2019 à 17:01
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)
à tester en ligne
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