下拉列表框只能选择,我想选择后还可以允许用户对选择的内容进行修改,如何实现可编辑的下拉列表框?

原创 2005年03月02日 10:07:00

下拉列表框只能选择,我想选择后还可以允许用户对选择的内容进行修改,如何实现可编辑的下拉列表框?

借花献佛:
<html>

<head>
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>可编辑下拉框</title>
<style>
a{color:blue;text-decoration:none}
a:hover{color:red}
</style>
</head>

<body>

<table style="border:2px outset;background-color:#d2e8FF" width="250" height="100" align="center">
  <tr>
    <td width="100%" align="center" colspan="2"><b>可编辑下拉框</b></td>
  </tr>
  <tr>
    <td width="60%" height="30" align="center">
<select name="fason">
<option value="可编辑下拉框">可编辑下拉框</option>
<option value="作者:阿信">阿信</option>
</select>
    </td>
    <td width="40%" height="30" align="left">
    <input type=button value=" 取值 " onclick="alert(document.getElementsByName('combox_fason')[0].value)">
</td>
  </tr>
</table>

<script language="javascript">
/*
作者:fason(阿信)
日期:2003-7-1
版本:v1.0
备注:只作技术交流,如需转载请注明作者等有关信息,多谢合作
*/
function combox(obj,select){
this.obj=obj
this.name=select;
this.select=document.getElementsByName(select)[0];
/*要转换的下拉框*/
}

/*初始化对象*/
combox.prototype.init=function(){
var inputbox="<input name='combox_"+this.name+"' onchange='"+this.obj+".find()' "
inputbox+="style='position:absolute;width:"+(this.select.offsetWidth-16)+";height:"+this.select.offsetHeight+";left:"+getL(this.select)+";top:"+getT(this.select)+"'>"
document.write(inputbox)
with(this.select.style){
left=getL(this.select)
top=getT(this.select)
position="absolute"
clip="rect(0 "+(this.select.offsetWidth)+" "+this.select.offsetHeight+" "+(this.select.offsetWidth-18)+")"
/*切割下拉框*/
}
this.select.onchange=new Function(this.obj+".change()")
this.change()

}
/*初始化结束*/

////////对象事件定义///////
combox.prototype.find=function(){
/*当搜索到输入框的值时,下拉框自动定位*/
var inputbox=document.getElementsByName("combox_"+this.name)[0]
with(this.select){
for(i=0;i<options.length;i++)
if(options[i].text.indexOf(inputbox.value)==0){
selectedIndex=i
this.change();
break;
}
}
}

combox.prototype.change=function(){
/*定义下拉框的onchange事件*/
var inputbox=document.getElementsByName("combox_"+this.name)[0]
inputbox.value=this.select.options[this.select.selectedIndex].text;
with(inputbox){select();focus()};
}
////////对象事件结束///////

/*公用定位函数(获取控件绝对坐标)*/
function getL(e){
var l=e.offsetLeft;
while(e=e.offsetParent)l+=e.offsetLeft;
return l
}
function getT(e){
var t=e.offsetTop;
while(e=e.offsetParent)t+=e.offsetTop;
return t
}
/*结束*/
</script>
<script language="javascript">
var a=new combox("a","fason")
a.init()
/*作用方法:
var obj=new combox(var1,var2)
var1:新生成的combox变量(如:a)
var2:原下拉框的name
obj.init():对象初始化
注意:后台取值时用combox_var2进行取值
*/
</script>
<p align="right">作者:<a href="http://fason.nease.net">fason(阿信)</a>欢迎交流!</p>
</body>

</html>

下面这段代码更强!

<input type="text" name="t">
<select name="s" onChange="t.value=this.options[this.selectedIndex].value;">
<option>-----------</option>
<option value="test">test</option>
<option value="haha">haha</option>
</select>

相关文章推荐

EasyUI-DataGrid编辑时出现下拉列表框选择,同时修改其它列的值

首先是进行表格式的初始化,主要是为了可以进行编辑//初始化表格 $.extend($.fn.datagrid.methods, { editCell: function (jq, param)...

esayui--下拉列表框只能选择当前数据往后的(不可逆的)

1.下拉列表框中的所有的效果图 2.只能选择当前选中的和后面的 3.jsp代码 执行状态 ...

如何用C#实现Word里的字体选择下拉列表框!

第一步,新建一个默认的C#项目,相信大家一步大家都会了,我就不重复了。 第二步,在窗体上添加一个ComboBox控件。修改ComboBox的name属性为cboFont;修改DrawMode属性...

可编辑下拉列表框源码

  • 2013年09月25日 12:16
  • 198KB
  • 下载

android中使用TextView来显示某个网址的内容,使用<ScrollView>来生成下拉列表框

1:androidmanifest.xml的内容

.net WinForm用户控件开发--(3)可多选的下拉列表框

这一节给大家演示一个具有多选功能的下拉列表框,其实就是一个文本框和checkboxlist组合实现的用户控件,换个角度来实现自定义控件。 先来看下效果图吧,我会分几个步骤来具体讲解这个文本框的实现。...

UISearchBar的使用以及下拉列表框的实现

在IOS混饭吃的同志们都很清楚,搜索框在移动开发应用中的地位。今天我们就结合下拉列表框的实现来聊聊UISearchBar的使用。本人新入行的菜鸟一个,不足之处请多多指教。直接上代码。 UISearc...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:下拉列表框只能选择,我想选择后还可以允许用户对选择的内容进行修改,如何实现可编辑的下拉列表框?
举报原因:
原因补充:

(最多只允许输入30个字)