Solution jQuery!
Démo: http://jsfiddle.net/69wP6/2/
Une autre démo ci-dessous (mise à jour!)
J'avais besoin de quelque chose de similaire dans un cas où j'avais des options fixes et je voulais qu'une autre option soit modifiable! Dans ce cas, j'ai créé une entrée masquée qui chevaucherait l'option de sélection et serait modifiable et utilisait jQuery pour que tout fonctionne de manière transparente.
Je partage le violon avec vous tous!
HTML
<div id="billdesc">
<select id="test">
<option class="non" value="option1">Option1</option>
<option class="non" value="option2">Option2</option>
<option class="editable" value="other">Other</option>
</select>
<input class="editOption" style="display:none;"></input>
</div>
CSS
body{
background: blue;
}
#billdesc{
padding-top: 50px;
}
#test{
width: 100%;
height: 30px;
}
option {
height: 30px;
line-height: 30px;
}
.editOption{
width: 90%;
height: 24px;
position: relative;
top: -30px
}
jQuery
var initialText = $('.editable').val();
$('.editOption').val(initialText);
$('#test').change(function(){
var selected = $('option:selected', this).attr('class');
var optionText = $('.editable').text();
if(selected == "editable"){
$('.editOption').show();
$('.editOption').keyup(function(){
var editText = $('.editOption').val();
$('.editable').val(editText);
$('.editable').html(editText);
});
}else{
$('.editOption').hide();
}
});
Edit: Ajout de quelques touches simples au niveau de la conception, afin que les gens puissent voir clairement où se termine l'entrée!
JS Fiddle: http://jsfiddle.net/69wP6/4/