11540 sujets

JavaScript, DOM et API Web HTML5

Bonjour j'aimerais faire apparaitre un texte quand je sélectionne choisi un <select>.
Je débute en Javascript ça fonctionne seulement jusqu’à la 4ème ligne et après je suis perdu. SI vous pouviez me mettre juste un peu sur la voie ce serais sympa. Smiley lol

<select id="liste_taxe" onchange="VerifListe();">
  <option name="taxe1" value="taxe1">D&eacute;blais</option>
  <option name="taxe2" value="taxe2">Inerte</option>
  <option name="taxe3" value="taxe3">Inerte au d&eacute;p&ocirc;t Tanner</option>
  <option name="taxe4" value="taxe4">D&eacute;chets incin&eacute;rables</option>
  <option name="taxe5" value="taxe5">D&eacute;chets encombrants</option>
  <option name="taxe6" value="taxe6">Bois propre</option>
  <option name="taxe7" value="taxe7">Compost</option>
  <option name="taxe8" value="taxe8">D&eacute;chets m&eacute;lang&eacute;s</option>
  <option name="taxe9" value="taxe9">Fen&ecirc;tres</option>
  <option name="taxe10" value="taxe10">Fer</option>
</select>
<span class="text_taxes" id="taxe1"> Pierre, cailloux</span>
<span class="text_taxes" id="taxe2"> Plâtre, tuilles, briques, céramique, laîne: "De verre, de roche, feuilleté, enrober"</span>


var taxe1 = $("#taxe1"); var Staxe1 = "taxe1";
var taxe2 = $("#taxe2");
taxe1.hide();
taxe2.hide();

if ("taxe1" == "taxe1".selected.true)
 {taxe1.show(); }

Modifié par gamenumi (20 Dec 2012 - 11:51)
J'ai juste voulu rééditer mais j'ai fait citer donc cette réponse ne la prenez pas en compte merci. Smiley lol
Modifié par gamenumi (20 Dec 2012 - 12:01)
Modérateur
Salut !

je dirais un truc du genre :

$("#liste_taxe").change(function() {
    var taxe=$(this).find("option:selected").val()
    document.getElementById(taxe).show();
}); 


EDIT : code faux (l'idée est là mais il n'est pas fonctionnel). Cf post de tm en dessous
Modifié par _laurent (20 Dec 2012 - 15:35)
Salut,
// lorsque la valeur de ton select change
$("#liste_taxe").change(function() {
  // on masque tous les textes
  $(".text_taxes").hide();
  // on affiche le texte dont l'ID correspond à la valeur de l'option sélectionnée
  $("#" + $(this).val()).show();
}); 

tm
Modérateur
Mieux tm Smiley biggrin Merci

Le $(this) renvoi direct le choix sélectionné ? Je peux donc me passer du "$(this).find("option:selected")" dans mon code ?
_laurent a écrit :
Le $(this) renvoi direct le choix sélectionné ?


Le "this" fait référence au "contexte" dans lequel il est utilisé.
En l'occurence, ici, à l'élément auquel est attaché la méthode ".change()" soit ton "select".

tm