问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

能否实现表单的select元素中输入文字

发布网友 发布时间:2022-04-20 21:09

我来回答

3个回答

热心网友 时间:2022-04-20 22:38

<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>EditSelect</title>
<script>
scHTML='<div id="selectcontent" class="selectdiv" style="visibility:hidden;"><iframe id=selframe frameborder=0 height=100%></iframe><div id="selecthtml" class="selectcontent">selectÁбí</div></div>'
document.write(scHTML)
vDiv=selectcontent
vDivHtml=selecthtml

function editselect(name,size,defaulttext,width,height,readonly){
var combo=this;
this.options=new Array();
this.name=name;
this.divname=name+'_div';
this.buttonname=name+'_button';
this.tablename=name+'_table';
this.htmltable=name+'_html'

if (!height) this.height=0; else this.height=height
if (width) this.width=width
if (!size) size=8
if (!defaulttext) defaulttext=""
if (!readonly || readonly==0) {readonly="" }else {if (readonly==1) readonly="readonly style=cursor:default";this.readonly=1}

esHTML='<div id='+this.divname+'>'
+'<table id='+this.tablename+' cellpadding=0 cellspacing=0 class=select><tr><td bgcolor=#FFFFFF>'
+'<input type=text class=selecttext size="'+size+'" name='+name+' value="'+defaulttext+'" '+readonly+'><td><button class=selectbutton id='+this.buttonname+'>6</td></tr></table>'
+'</div>'
document.write(esHTML)
this.sbutton=eval("document.all."+this.buttonname)

if (this.readonly==1) eval(this.name).onclick=function(){combo.show()}

this.sbutton.onclick=function(){combo.show()}
this.show=function(){
pDiv=eval(combo.divname)
pTable=eval(combo.tablename)
var vHTML='<table id=htmltable cellspacing="0" cellpadding="2" bgcolor="#ffffff" class="selecttable" width=100%>'
for (i=0;i<combo.options.length;i++)
{
vHTML+='<tr onmouseover="mo(this)" onmouseout="mu(this)" onclick="document.all.'+combo.name+'.value=this.innerText;selectcontent.style.visibility=\'hidden\'"><td nowrap>'+combo.options[i]
}
vHTML+="</table>"
vDivHtml.innerHTML=vHTML

vtop=pDiv.offsetTop+pDiv.offsetHeight
vleft=pDiv.offsetLeft+1

vParent = pDiv.offsetParent;
while (vParent.tagName.toUpperCase() != "BODY")
{
vleft += vParent.offsetLeft;
vtop += vParent.offsetTop;
vParent = vParent.offsetParent;
}

var redge=document.body.clientWidth-vleft
var bedge=document.body.clientHeight-vtop

if (!combo.width) {vDiv.style.width=pTable.offsetWidth} else {vDiv.style.width=combo.width}

if (combo.height==0)
{
vDiv.style.pixelHeight=parseInt(htmltable.offsetHeight)+2
vDivHtml.style.pixelHeight=parseInt(htmltable.offsetHeight)+2
}
else
{
if (htmltable.offsetHeight>combo.height)
{
vDiv.style.pixelHeight=combo.height
vDivHtml.style.pixelHeight=combo.height

}
else
{

vDiv.style.pixelHeight=parseInt(htmltable.offsetHeight)+2
vDivHtml.style.pixelHeight=parseInt(htmltable.offsetHeight)+2
}

}

vDivHtml.scrollTop=0

if (redge<vDiv.offsetWidth)
vDiv.style.left=vleft-1-(vDiv.offsetWidth-redge)
else
vDiv.style.left=vleft-1

if (bedge<vDiv.offsetHeight)
//vDiv.style.top=vtop-vDiv.offsetHeight-pDiv.offsetHeight
vDiv.style.top=vtop-vDiv.offsetHeight+bedge
else
vDiv.style.top=vtop

vDivHtml.style.width=parseInt(vDiv.style.width)
vDiv.style.visibility="visible"
}

this.add=function(text){
combo.options[combo.options.length]=text
}

this.about=function(){

}
}

function mo(obj){
obj.style.backgroundColor="#000099"
obj.style.color="#ffffff"
}

function mu(obj){
obj.style.backgroundColor=""
obj.style.color="#000000"
}

document.onmousedown=function(){
if (vDiv.style.visibility=="visible"){
mx=event.x + document.body.scrollLeft
my=event.y + document.body.scrollTop;

x1=vDiv.offsetLeft
y1=vDiv.offsetTop

x2=vDiv.offsetLeft+vDiv.offsetWidth
y2=vDiv.offsetTop+vDiv.offsetHeight

if (mx<x1 || my<y1 || x2<mx || y2<my)
{
vDiv.style.visibility='hidden'
}
}
}
</script>

<style>
.selecttext{
border:0px
height: 16;
font-family:arial;
font-size:12px;
}
.selectbutton{
font-family:webdings;
font-size:10px;
height: 19;
width: 16;
border:1px solid #83A5EB;
line-height:0px;
padding-bottom:3px;
background-color:#D1E0FD
}
.selecttable{
font-family:arial;
font-size:12px;
cursor:default;
}
.selectcontent
{
position: absolute;
top:0;
left:0;
overflow:auto;
border:1px solid #000000
}

.selectdiv
{
position: absolute;
width:100;
overflow:hidden;
}
.select{
border-collapse: collapse;
border:1px solid #7F9DB9
}
</style>
</head>

<body bgcolor="#83A5EB">

<table border="0" width="100%">
<tr>
<td width="151" align="center"><font size="2">可编辑的Select</font></td>
<td><script>
var sel1=new editselect("select1","25","可编辑的Select","");
sel1.add("这是一个可以编辑的Select")
sel1.add("支持CSS")
sel1.add("可以通过CSS,修改外形")
sel1.add("突破原来的Select诸多*")
</script></td>
</tr>
<tr>
<td width="151" align="center"><font size="2">长度可以随意修改<br>可以设置为只读</font></td>
<td>
<script>
var sel2=new editselect("select2","20","长度可以随意修改",250,82,1);
sel2.add("这是一个可以编辑的Select")
sel2.add("支持CSS")
sel2.add("可以通过CSS,修改外形")

sel2.add("作者:舜子制作")
sel2.add("MSN:puterjam@msn.com")
</script>
</td>
</tr>
<tr>
<td width="151" align="center"><font size="2">可以遮盖系统Select</font></td>
<td>
<script>
var sel3=new editselect("select3","25","可以遮盖系统Select","",41);
sel3.add("这是一个可以编辑的Select")
sel3.add("支持CSS")
sel3.add("可以通过CSS,修改外形")
sel3.add("突破原来的Select诸多*")
</script>
</td>
</tr>
<tr>
<td width="151" align="right"> </td>
<td><select class="select"><option>系统的Select</option></select> </td>
</tr>
</table>
</body>

</html>

热心网友 时间:2022-04-20 23:56

可以的。。^_^

<select name=s1 id=s1 onchange='check()'>
<option value=a>a</option>
<option value=b>b</option>
<option value=c>c</option>
<option value=d>d</option>
<option value=0>自定义</option>
</select>
<input name=s2 id=s2 type=text style=display:none />
<script language=javascript>
function check(){
var d=document.getElementById;

d("s2").style.display=(d("s1").options[d("s1").selectedIndex].value==0?'block':'none');
return;
}
</script>

服务器端读取的时候,只需要判断request.form("s1")是否是"0",如果是"0",则使用request.form("s2")的值,否则,使用request.form("s1")的值

热心网友 时间:2022-04-21 01:31

你得再加一个文本框。
如果不存在,可以让用户来添加。

数据库中再加一个“类别”表!
就可以实现了!
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
女人梦见蛇的七大预兆解梦 PHOTOSHOP 怎么把眼睛点大 这些月销量10000+的防晒霜,是噱头还是真的好用? 大宝水凝保湿防晒露适合哪些肤质的人使用? 拥有人口过亿的国家最多的大洲是( )A.非洲B.亚洲C.欧洲D.大洋 世界国家最多的大洲是:( ) A.亚洲 B.大洋州 C.非洲 D.欧 拥有人口过亿的国家最多的大洲是:( ) A.非洲 B.亚洲 C.欧洲 D.大洋 餐厅一般中餐都有哪些摆台要求和标准 如何做味道正宗的中餐? 河南文科跟理科高考分数线相差多少 c# 两个字符串数组A,B对比,将A有B没有的元素存入动态数组C c# 向已经排序的数组中插入元素,并按原来的顺序输出 遇灾了,请高人算一下我的八字 求java的相关程序,关于数组,高手帮忙,急急急啊 才食日元印乾造己巳丙子甲辰癸酉藏干庚丙戊癸乙戊癸辛杀食财印劫财印官衰旺病沐浴衰胎纳音大林木洞下水 java中数组的问题 命中有七杀和犯将军令 帮忙测下八字 Java 一维数组排序,排完序后输出最小值,并且要得到最小值在原一维数组的下标(也就是顺序)这是关键 利用JAVA数组循环编程,显示下面数据的前n项,已知前两项的值都是1,后 请师傅看看这个八字 女 戊辰 乙卯 戊寅 辛酉格局怎么样? 为何数组排序出错 用java实现,通过键盘输入一个数,在排序后的数组中,采用折半查找法查找... 向各位大仙们求生辰八字五行命理 八字庚辰藏干乙戊癸是不是杂气 600878什么时候退市的? 关于vs2005中添加jscript的问题 想要问问你敢不敢,像我这样的爱你,这首歌名叫什么? 我这样爱你到底对不对,这问题问的我自己好累是什么歌的歌词 我是这样的爱你 爱你爱到撕心裂肺 是什么歌曲 java中用Scanner怎么把从键盘输入的数据保存在数组中并进行冒泡排序 H作为开始字母的发音规则,在什么情况下发音在什么情 如何决定h是否发音,或有没有发音规则 H作为开始字母的发音规则,在什么情况下发 H的发音规则是怎么样的? - 信息提示 什么代表延安精神的核心 做什么投资收益比较高 字母哥天赋比肩詹姆斯,为什么当年选秀的顺位这么低呢? 字母哥是混血吗 字母哥为什么叫字母哥? 离开公司辞职书 不小心把wifi的路由器的插头拔了,插回去后又上不了网,该怎么办? 笔记本用wifi和网线 那个要好...(电信. 2兆) 笔记本是连wifi还是网线好 拔下wifi插头再插就连接不上了 为什么插座上的网线不能连上wifi 朝天钩打孔钻头怎么制作 高速钢打孔要用什么钻头? 订做钻头要知道哪些要点?