Giải pháp jQuery!
Demo: http://jsfiddle.net/69wP6/2/
Demo khác bên dưới (cập nhật!)
Tôi cần một cái gì đó tương tự trong trường hợp khi tôi có một số Tùy chọn cố định và tôi muốn một tùy chọn khác có thể chỉnh sửa được! Trong trường hợp này, tôi đã tạo một đầu vào ẩn sẽ chồng lên tùy chọn đã chọn và có thể chỉnh sửa và sử dụng jQuery để làm cho tất cả hoạt động liền mạch.
Tôi đang chia sẻ khó khăn với tất cả các bạn!
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();
}
});
Chỉnh sửa: Đã thêm một số thiết kế chạm đơn giản, để mọi người có thể thấy rõ ràng đầu vào kết thúc ở đâu!
JS Fiddle: http://jsfiddle.net/69wP6/4/