Rozwiązanie jQuery!
Demo: http://jsfiddle.net/69wP6/2/
Kolejne demo poniżej (zaktualizowane!)
Potrzebowałem czegoś podobnego w przypadku, gdy miałem ustalone opcje i chciałem, aby jedna inna opcja była edytowalna! W tym przypadku wprowadziłem ukryte dane wejściowe, które nakładałyby się na opcję wyboru i byłyby edytowalne i użyłem jQuery, aby wszystko działało płynnie.
Dzielę się z wami wszystkimi skrzypcami!
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();
}
});
Edycja: Dodano kilka prostych elementów, aby ludzie mogli wyraźnie zobaczyć, gdzie kończy się wprowadzanie!
JS Fiddle: http://jsfiddle.net/69wP6/4/