ré afficher des données vidés par innerHTML?
Posté : 05 oct. 2012, 08:38
Bonjour,
Je ne suis pas un adepte du Javascript alors soyez indulgent svp .
J'essaye de créer une fonction qui me permet de "vider" des "div" à la sélection d'une "option" d'un formulaire sauf celui sélectionné. Mon premier tour de boucle semble fonctionner mais c'est après que je coince. Si j'effectue une seconde sélection, l'ensemble des "div" sont "vidés" même celui de ma sélection. Je ne parviens donc pas à finaliser le code ci-dessous (si cela est possible).
[javascript]
function voirid(id){
//compte le nombre d'options du select
var compte_option = document.getElementById('monselect').length;
alert('Nombre option :' +compte_option);
//numéro de l'option selectionné
var num_option = id;
alert('Id en cours : ' +num_option);
//on boucle sur le nombre d'options du select
for( i = 0; i < compte_option; i++ ){
viderdiv = document.getElementById(i);
//si la variable existe et que l'incrémentation est différent du numéro d'option sélectionné, on vide les div correspondant
if(viderdiv && i != num_option){
viderdiv.innerHTML='';
}
}
}
[/javascript]
Merci
Je ne suis pas un adepte du Javascript alors soyez indulgent svp .
J'essaye de créer une fonction qui me permet de "vider" des "div" à la sélection d'une "option" d'un formulaire sauf celui sélectionné. Mon premier tour de boucle semble fonctionner mais c'est après que je coince. Si j'effectue une seconde sélection, l'ensemble des "div" sont "vidés" même celui de ma sélection. Je ne parviens donc pas à finaliser le code ci-dessous (si cela est possible).
[javascript]
function voirid(id){
//compte le nombre d'options du select
var compte_option = document.getElementById('monselect').length;
alert('Nombre option :' +compte_option);
//numéro de l'option selectionné
var num_option = id;
alert('Id en cours : ' +num_option);
//on boucle sur le nombre d'options du select
for( i = 0; i < compte_option; i++ ){
viderdiv = document.getElementById(i);
//si la variable existe et que l'incrémentation est différent du numéro d'option sélectionné, on vide les div correspondant
if(viderdiv && i != num_option){
viderdiv.innerHTML='';
}
}
}
[/javascript]
<form method="post" id="formulaire">
<select id="monselect" onchange="voirid(this.value);">
<option value="vide">---Selectionner---</option>
<option value="1"> div 1</option>
<option value="2"> div 2</option>
<option value="3"> div 3</option>
<option value="4"> div 4</option>
</select>
</form>
<div id="1" class="cacher">div 1</div>
<div id="2" class="cacher">div 2</div>
<div id="3" class="cacher">div 3</div>
<div id="4" class="cacher">div 4</div>
En gros, il faudrait que mes "div" reviennent à leurs état d'origine (non vidé) lorsqu'une nouvelle sélection est faite.Merci