11543 sujets

JavaScript, DOM et API Web HTML5

Bonjour, j'essais de supprimer une option dans un select mais je n'y arrive pas, je veux supprimer l'option active du select.

voila ce que je fais:






<input type="text" id ="input_mot_cle" name="input_mot_cle">
<input type="button" onClick="ajoute_mot_cle();" name="ajouter_mot_cle" id="ajouter_mot_cle" value="ajouter ce mot">

<select name="select_mot_cle" id="select_mot_cle" size="10">
<option value="locations">locations</option><option value="location" id="test">location</option>
</select>
<br><br>
<input type="button" onClick="supprimer_mot_cle();" id="supprimer_mot_cle" name="supprimer_mot_cle" value="supprimer"></center>








<script>

function ajoute_mot_cle()
{

var input_mot_cle=document.getElementById('input_mot_cle').value;

var element_node = document.createElement('option');
var node=document.createTextNode(input_mot_cle);
document.getElementById('select_mot_cle').appendChild(element_node);	
document.getElementById('select_mot_cle').lastChild.appendChild(node);	
document.getElementById('select_mot_cle').lastChild.setAttribute('value',input_mot_cle);


}










function supprimer_mot_cle()
{


var option=document.getElementById('select_mot_cle').options.value;

document.getElementById('select_mot_cle').removeChild(option);	

alert (option);

}
</script>






Visiblement je m'y prends pas comme il faut pour connaitre l'option selectionné. La fonction pour ajouter une option fonctionne.
Modifié par zacc (28 Oct 2006 - 16:28)
Pour connaître l'élément sélectionné, pusieurs possibilités :

- Son index dans la liste : il s'agit de la propriété selectedIndex.
Cet index suffit si tu utilises la fonction remove qui existe dans le 99% des navigateurs récents.

- Pour avoir un objet option représentant l'option actuellement sélectionnée, il est plus sûr de passer par liste.options[liste.selectedIndex] que par value. Value, s'il contient quelque chose, ne contient en tout cas pas un objet, seulement une chaîne représentant la valeur inscrite dans <option value="...">
merci, ça marche comme ceci


function supprimer_mot_cle()
{

var selected=document.getElementById('select_mot_cle').selectedIndex;
var option=document.getElementById('select_mot_cle').options[selected];

document.getElementById('select_mot_cle').removeChild(option);	

//alert (option);

}



Je prefere utiliser le dom

Merci encore de m'avoir depanne
Modifié par zacc (28 Oct 2006 - 16:27)