要让网页中的下拉列表支持可编辑,可不是件省心的事,上网搜索了下,也有一些解决方法,做起来总不够简便。我做了个简单的实现,主要是通过给select添加选项的方式,达到可编辑的目的。演示网址 http://www.cmdgo.com/_ctrl/testruby/selecteditable,代码如下:
<select name="markcode" onChange="editable(this);">
<option value="value1">选项一</option>
<option value="">请输入</option>
</select>
<script language="javascript">
function editable(select1){
if(select1.value == ""){
var newvalue = prompt("请输入","");
if(newvalue){
addSelected(select1,newvalue,newvalue);
}
}
}
function addSelected(fld1,value1,text1){
if (document.all) {
var Opt = fld1.document.createElement("OPTION");
Opt.text = text1;
Opt.value = value1;
fld1.options.add(Opt);
Opt.selected = true;
}else{
var Opt = new Option(text1,value1,false,false);
Opt.selected = true;
fld1.options[fld1.options.length] = Opt;
}
}
</script>
其中的function可以放到js文件中引用,这样只要对select框添加很少的代码就能支持可编辑了。支持IE和Firefox