jQuery-Lösung!
Demo: http://jsfiddle.net/69wP6/2/
Eine weitere Demo unten (aktualisiert!)
Ich brauchte etwas Ähnliches in einem Fall, in dem ich einige feste Optionen hatte und ich wollte, dass eine andere Option bearbeitet werden kann! In diesem Fall habe ich eine versteckte Eingabe gemacht, die die Auswahloption überlappt und bearbeitet werden kann, und jQuery verwendet, damit alles nahtlos funktioniert.
Ich teile die Geige mit euch allen!
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();
}
});
Bearbeiten: In Bezug auf das Design wurden einige einfache Details hinzugefügt, damit die Benutzer klar sehen können, wo die Eingabe endet!
JS Fiddle: http://jsfiddle.net/69wP6/4/