jQuery समाधान!
डेमो: http://jsfiddle.net/69wP6/2/
नीचे एक और डेमो (अद्यतन!)
मुझे एक मामले में कुछ इसी तरह की जरूरत थी जब मेरे पास कुछ निश्चित विकल्प थे और मैं चाहता था कि एक और विकल्प संपादन योग्य हो! इस मामले में मैंने एक छिपा इनपुट बनाया जो कि चयन विकल्प को ओवरलैप करेगा और संपादन योग्य होगा और इसे सभी कामों को मूल रूप से करने के लिए jQuery का उपयोग किया जाएगा।
मैं आप सभी के साथ बेला साझा कर रहा हूँ!
एचटीएमएल
<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>
सीएसएस
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();
}
});
संपादित करें: कुछ सरल स्पर्श डिजाइन को जोड़ा, ताकि लोग स्पष्ट रूप से देख सकें कि इनपुट कहां समाप्त होता है!
जेएस फिडल: http://jsfiddle.net/69wP6/4/