双击select的一个option变成可编辑的文本框,onblur事件还原成option,并保存内容。JS应该如何写?各位大虾帮忙~下面是jsp中的内容:
<select id="u34" size="15" class="u34" multiple="multiple" style="width:100%" >
<option value="test1">test1</option>
<option value="test2">test2</option>
<option value="test3">test3</option>
</select>
<select id="u34" size="15" class="u34" multiple="multiple" style="width:100%" >
<option value="test1">test1</option>
<option value="test2">test2</option>
<option value="test3">test3</option>
</select>
http://dhtmlx.com/docs/products/dhtmlxCombo/index.shtml
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script type="text/javascript">
window.onload = function() {
var opts = document.getElementById('u34').getElementsByTagName('option');
var idx; //注册一个全局变量用来保存当前双击的option的索引号
for (var i = 0; i < opts.length; i ++) {
opts[i].ondblclick = function() {
//alert(this.index);
idx = this.index;
var txt = this.innerHTML;
this.parentNode.style.display = 'none';
var t34 = document.getElementById('t34');
t34.value = txt;
t34.style.display = '';
}
}
document.getElementById('t34').onblur = function() {
var u34 = document.getElementById('u34');
u34.options[idx].innerHTML = this.value;
this.style.display = 'none';
u34.style.display = '';
}
}
</script>
</head><body>
<select id="u34" size="15" class="u34" multiple="multiple" style="width:100%">
<option value="test1">test1</option>
<option value="test2">test2</option>
<option value="test3">test3</option>
</select><input type="text" id="t34" style="display:none;" />
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script type="text/javascript">
window.onload = function() {
var idx; //注册一个全局变量用来保存当前双击的option的索引号
document.getElementById('u34').ondblclick = function() {
idx = this.selectedIndex;
txt = this.options[idx].innerHTML;
this.style.display = 'none';
var t34 = document.getElementById('t34');
t34.value = txt;
t34.style.display = '';
}
document.getElementById('t34').onblur = function() {
var u34 = document.getElementById('u34');
u34.options[idx].innerHTML = this.value;
this.style.display = 'none';
u34.style.display = '';
}
}
</script>
</head><body>
<select id="u34" size="15" class="u34" multiple="multiple" style="width:100%">
<option value="test1">test1</option>
<option value="test2">test2</option>
<option value="test3">test3</option>
</select><input type="text" id="t34" style="display:none;" />
</body>
</html>