jQuery Solution!
Demo: http://jsfiddle.net/69wP6/2/
Un'altra demo qui sotto (aggiornata!)
Avevo bisogno di qualcosa di simile in un caso in cui avevo alcune opzioni fisse e volevo che un'altra opzione fosse modificabile! In questo caso ho creato un input nascosto che si sarebbe sovrapposto all'opzione di selezione e sarebbe stato modificabile e utilizzato jQuery per far funzionare tutto senza problemi.
Condivido il violino con tutti voi!
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();
}
});
Modifica: aggiunti alcuni semplici tocchi di design, in modo che le persone possano vedere chiaramente dove finisce l'input!
JS Fiddle: http://jsfiddle.net/69wP6/4/