Modifier la valeur "min" d'une input range avec une variable
TR_2000
Messages postés
21
Date d'inscription
Statut
Membre
Dernière intervention
-
DoctorHow -
DoctorHow -
Bonjour,
Voici une partie de mon code HTML :
Je cherche à attribuer aux valeur min et max de mon slider les variables frequency[0] et frequency[8]. Ces variables sont modifiées au cours du temps et ainsi, mon slider pourra lui aussi évoluer en fonction.
Merci pour votre aide,
Voici une partie de mon code HTML :
<div class="slidecontainer"> <input type="range" min="freq_0" max=200 value="50" class="slider" id="slider_frequency"> <p>Center Frequency : <span id="center_frequency"></span></p> </div> </section> <div class="after_axis"> <br> <input type="button" onclick="javascript:SelectZoom()" value="Zoom"></button> <script> // Affichage Initial var nb_freq = 9; var center_frequency = 2.4e3 var bandwidth = 2 var frequency = new Array(nb_freq); frequency[0] = center_frequency-bandwidth/(2); pas = bandwidth/(nb_freq-1); for(let i = 0; i<nb_freq; i++){ frequency[i] = frequency[0] + pas*i; document.getElementById("freq_"+i).innerHTML=frequency[i]; } // Slider frequences var slider = document.getElementById("slider_frequency"); var output = document.getElementById("center_frequency"); output.innerHTML = slider.value; slider.oninput = function(){ output.innerHTML = this.value; } </script>
Je cherche à attribuer aux valeur min et max de mon slider les variables frequency[0] et frequency[8]. Ces variables sont modifiées au cours du temps et ainsi, mon slider pourra lui aussi évoluer en fonction.
Merci pour votre aide,
A voir également:
- Modifier la valeur "min" d'une input range avec une variable
- Modifier dns - Guide
- Modifier une story facebook - Guide
- Modifier une liste déroulante excel - Guide
- Vous avez besoin d'une autorisation de la part de système pour modifier ce dossier - Guide
- Faites afficher avec un fond coloré les cellules qui contiennent une valeur comprise entre 250 et 350. quel nombre est dessiné en surbrillance ? ✓ - Forum Excel
2 réponses
Bonjour,
Pour attribuer des variables à vos valeurs, qui, je pense, sont celles de votre ligne 2, il faudrait que ces valeurs soient récupérées sous forme de variables $frequency[0] et $frequency[8] avant cette ligne et non après.
Il faut ensuite insérer vos variables. Si je devais coder en php, cela donnerait quelque chose comme cela :
en supprimant le "value".
Patricia
Pour attribuer des variables à vos valeurs, qui, je pense, sont celles de votre ligne 2, il faudrait que ces valeurs soient récupérées sous forme de variables $frequency[0] et $frequency[8] avant cette ligne et non après.
Il faut ensuite insérer vos variables. Si je devais coder en php, cela donnerait quelque chose comme cela :
<?php
echo '<input type="range" min="'.$frequency[0.'" max="'.$frequency[8].'" class="slider" id="slider_frequency">';
?>
en supprimant le "value".
Patricia
TR_2000
Messages postés
21
Date d'inscription
Statut
Membre
Dernière intervention
1
D'accord je vais essayer merci !
Salut,
en JavaScript:
je n'ai pas compris ceci:
min="freq_0"
freq_0 n'est pas une valeur numérique et ne correspond à rien(sauf une erreur).
Quant au recours à PHP il est nécessaire si les min et max viennent d'une base de données mais à éviter si c'est calculé dans le JavaScript.
Si cela vient d'une base de données le plus simple est simple de le faire avec un echo
<?php
echo ("<input ype=range min=".$valueMin." max=".$valueMax." value=.$value." >")
?>
éventuellement dans une boucle comme disait patricia@84 si les données récupérées sont tabulaires(et l'écriture des input dans la boucle).
Mieux aussi de rajouter l'attribut name pour un input.
Voir aussi la balise <label> qui est nécessaire pour les input.
A noter aussi qu'un input est un élément qui doit se trouver dans un formulaire(balise <form>).
Cela peut fonctionner sans mais c'est nettement moins bien à de nombreux égards.
Exemple de ce qui doit être fait(avec form et label):
https://www.w3schools.com/w3css/w3css_input.asp
en JavaScript:
monInputFrequency.setAttribute('min', valeurNumerique)
je n'ai pas compris ceci:
min="freq_0"
freq_0 n'est pas une valeur numérique et ne correspond à rien(sauf une erreur).
Quant au recours à PHP il est nécessaire si les min et max viennent d'une base de données mais à éviter si c'est calculé dans le JavaScript.
Si cela vient d'une base de données le plus simple est simple de le faire avec un echo
<?php
echo ("<input ype=range min=".$valueMin." max=".$valueMax." value=.$value." >")
?>
éventuellement dans une boucle comme disait patricia@84 si les données récupérées sont tabulaires(et l'écriture des input dans la boucle).
Mieux aussi de rajouter l'attribut name pour un input.
Voir aussi la balise <label> qui est nécessaire pour les input.
A noter aussi qu'un input est un élément qui doit se trouver dans un formulaire(balise <form>).
Cela peut fonctionner sans mais c'est nettement moins bien à de nombreux égards.
Exemple de ce qui doit être fait(avec form et label):
https://www.w3schools.com/w3css/w3css_input.asp