Parfois, il peu arrivé que vous aillez besoin de proposer une liste à l'utilisateur tout en lui laissant la possibilité d'ajouter des valeurs dans la liste.
C'est pourquoi je vous propose cet exemple qui permet d'obtenir une select extensible facilement.
function addNewOption(obj) { if (obj.value=="addNewOption") { var p=prompt('Entrez la nouvelle valeur',''); if ((p!="") && (p!=null)) { var v=obj.options[obj.options.length-1].value; var t=obj.options[obj.options.length-1].innerHTML; obj.options.length=obj.options.length-1; obj.options[obj.options.length] = new Option(p,p); obj.options[obj.options.length] = new Option(t,v); obj.options[obj.options.length-2].selected=true; } else obj.options[0].selected=true; } }
<form> <select onchange="addNewOption(this);"> <option value="1">1</option> <option value="2">2</option> <option value="addNewOption">Ajouter une option</option> </select> </form>
<option value="addNewOption">Ajouter une option</option>
<option value="plop">plop</option>
16/03/2007 14:36 -
Discussion