VersionIntroductionInstallationLimitations du protocole "file"Questions fréquemment poséesSyntaxe, mots-clés et fonctions intégréesDistribution standardImplémentation de importPackages BrythonInterface avec le navigateur
Introduction - API DOM
Créer un document Accéder aux éléments Attributs, propriétés et méthodes Evénements Evénements souris Evénements clavier Evénements focus Evénements pour glisser-déposer Chaine de requête Interactions avec Javascript Modules intégrés propres à Brython
browser
browser.aio browser.ajax browser.html browser.local_storage browser.markdown browser.object_storage browser.session_storage browser.svg browser.template browser.timer browser.webcomponent browser.websocket browser.worker Widgets browser.widgets.dialog browser.widgets.menu interpreter javascript Travailler avec BrythonRecettes
Salut !
Insérer du contenu dans un élément Mise en forme HTML (gras, italique...) Table HTML Attacher / détacher des événements Gérer la sélection d'options dans un SELECT Glisser-déposer Obtenir le contenu d'un élément Lire le contenu d'un fichier Stocker des objets localement Exemple de onmouseover |
ProblèmeGérer la sélection d'options dans un élément SELECT ou dans des cases à cocher (checkbox).SolutionLes éléments SELECT sont composés d'éléments OPTION. Un élément OPTION possède un attribut booléen selected. On peut lire cet attribut pour savoir si l'option est sélectionnée, ou lui donner une valeurTrue ou False pour la
sélectionner ou la désélectionner.
Les éléments de type case à cocher (INPUT type="checkbox") possèdent un
attribut booléen checked qui peut être utilisé de la même façon, pour savoir
si la case est sélectionnée, ou pour la cocher / décocher.
L'exemple ci-dessous sélectionne ou désélectionne les options en fonction du
cochage des éléments de type "checkbox" ; inversement, un clic dans l'élément
SELECT se traduit par le cochage / décochage des cases à cocher.
La fonction show_selected() montre comment obtenir la liste des éléments
sélectionnés : for option in sel itère sur les éléments OPTION. Pour un
élément SELECT avec choix unique (sans attribut multiple) on peut aussi
récupérer le rang de l'option sélectionnée par sel.selectedIndex
from browser import doc, html, alert def update_select(ev): # sélectionne / désélectionne les options dans l'élément SELECT # ev.target est la case à cocher sur laquelle on vient de cliquer rank = choices.index(ev.target.value) sel.options[rank].selected = ev.target.checked def show_selected(ev): alert([option.value for option in sel if option.selected]) def update_checkboxes(ev): # met à jour les cases à cocher quand le SELECT a été modifié selected = [option.value for option in sel if option.selected] for elt in doc.get(selector='input[type="checkbox"]'): elt.checked = elt.value in selected choices = ["un", "deux", "trois", "quatre", "cinq"] sel = html.SELECT(size=5, multiple=True) for item in choices: sel <= html.OPTION(item) sel.bind("change", update_checkboxes) for item in choices: chbox = html.INPUT(Type="checkbox", value=item) chbox.bind("click", update_select) doc["panel"] <= item + chbox doc["panel"] <= sel b_show = html.BUTTON("montrer la sélection") b_show.bind("click", show_selected) doc["panel"] <= b_show undeuxtroisquatrecinq
|