11521 sujets

JavaScript, DOM et API Web HTML5

Bonsoir,

J'ai essayé le code ci dessous mais ça ne marche pas.

Mon but est de ne pas afficher des options quand une option en haut est selectionnée.

<div id="type"><label>Type:</label>
	<select id="selectId" onchange="chambre()">
		<option value="single"> Single </option>
		<option value="double"> Double </option>
		<option value="triple"> Triple </option>
		<option value="quadruple"> Quadruple</option>
	</select>
<p><label for="nbadultes"> Adulte :</label>
    <select id="nbadultes" >
      <option >1</option>
      <option id="a2">2</option>
      <option id="a3">3</option>
      <option id="a4">4</option>
    </select></p>
  <p><label for="nbenfants">Enfant(0-12ans) :</label>
    <select id="nbenfants"  onchange="calcul()">
      <option >0</option>
      <option id="e1">1</option>
      <option id="e2">2 </option>
      <option id="e3">3</option>
      <option id="e4">4</option>
    </select>
  </p>

Et voila le javascript que j'ai tenté de faire

function chambre(){
	if(document.getElementById('selectId').value == "single") {
    document.getElementById("a2").style.display = none;
}
};

Merci d'avance
Modérateur
Et l'eau,


function chambre(){
    if(document.getElementById('selectId').value === "single") {
        document.getElementById("a2").disabled = true;
    }
};


edit : ton none doit être entouré entre guillemets. Mais il est préférable de rendre inaccessible la valeur en la grisant. Enfin, c'est une suggestion.

function chambre(){
	if(document.getElementById('selectId').value === "single") {
      document.getElementById("a2").style.display = 'none';
  }
};

Modifié par niuxe (14 Aug 2020 - 01:26)
Modérateur
Bonjour,

Une possibilité :
function chambre()
{
	if (document.querySelector('#selectId option[value="single"]:checked'))
	{
		document.getElementById("a2").style.display="none";
	}
}

Amicalement,