10 个解决方案
#1
用input + button自己写个可编辑的下拉控件!
#2
说半天就是不会喽,其实我的需求很简单,不要求改动下拉列表的东西,只是希望当下拉列表中没有需要的值的时候就自己手工填而已
#3
<form name=form1>
<input type=text name=abc>
<select onchange=document.form1.abc.value=this.options[this.selectedIndex].value]>
<option value="value">text</option>
</select>
</form>
<input type=text name=abc>
<select onchange=document.form1.abc.value=this.options[this.selectedIndex].value]>
<option value="value">text</option>
</select>
</form>
#4
对,就照小云的办法,TEXT里面的内容可以自己填也可以从菜单中选
#5
我也需要这样的控件,关注中
#6
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
</head>
<body>
<script language="javascript">
function aa() {
i=document.frmtest.seltest.length;
}
function pp(){
document.frmtest.seltest.options[i]=new Option(ok=(document.frmtest.seltest.options[i])?document.frmtest.seltest.options[i].innerText+String.fromCharCode(event.keyCode):String.fromCharCode(event.keyCode),ok)
document.frmtest.seltest.selectedIndex=i;
}
function edit(){
if(document.frmtest.seltest.options[i]){
if(event.keyCode==8){
var str=document.frmtest.seltest.options[i].innerText;
var len=str.length;
document.frmtest.seltest.options[i].innerText=str.substring(0,len-1);
if(document.frmtest.seltest.options[i].innerText=="")
document.frmtest.seltest.remove(i);
}
if(event.keyCode==13)return false;
if(event.keyCode==32){
document.frmtest.seltest.options[i].innerText+=" ";
}
}
}
</script>
<body onload=aa();>
得到的数据:<%=request.form("seltest")%>
<form name=frmtest action=test.asp method="POST">
<select onkeypress=pp() onkeyup="edit()" name="seltest">
<option>测试程序</option>
<option>nanaka</option>
<option>zergman</option>
</select>
<input type=submit>
</form>
</body>
</body>
</html>
焦点在下拉框时候,直接输入内容就会在下拉框中出现~这是你想要的吧~
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
</head>
<body>
<script language="javascript">
function aa() {
i=document.frmtest.seltest.length;
}
function pp(){
document.frmtest.seltest.options[i]=new Option(ok=(document.frmtest.seltest.options[i])?document.frmtest.seltest.options[i].innerText+String.fromCharCode(event.keyCode):String.fromCharCode(event.keyCode),ok)
document.frmtest.seltest.selectedIndex=i;
}
function edit(){
if(document.frmtest.seltest.options[i]){
if(event.keyCode==8){
var str=document.frmtest.seltest.options[i].innerText;
var len=str.length;
document.frmtest.seltest.options[i].innerText=str.substring(0,len-1);
if(document.frmtest.seltest.options[i].innerText=="")
document.frmtest.seltest.remove(i);
}
if(event.keyCode==13)return false;
if(event.keyCode==32){
document.frmtest.seltest.options[i].innerText+=" ";
}
}
}
</script>
<body onload=aa();>
得到的数据:<%=request.form("seltest")%>
<form name=frmtest action=test.asp method="POST">
<select onkeypress=pp() onkeyup="edit()" name="seltest">
<option>测试程序</option>
<option>nanaka</option>
<option>zergman</option>
</select>
<input type=submit>
</form>
</body>
</body>
</html>
焦点在下拉框时候,直接输入内容就会在下拉框中出现~这是你想要的吧~
#7
to 小云 : 这样的话,就出现了两行了,一个是<input type=text name=abc>行,一个是select行了,我的要求是在同一个框里面啊。
#8
你把<input>放在<select>上面就可以了
别人又不知道你是放了两个控件
别人又不知道你是放了两个控件
#9
他想要可以在下拉菜单里直接输入
只能自己做一个新控件了
只能自己做一个新控件了
#10
恩,webassassin(刺客) 说的对,不过要把下拉菜单右边的小三角留出来,可以点到下拉菜单进行选择
#1
用input + button自己写个可编辑的下拉控件!
#2
说半天就是不会喽,其实我的需求很简单,不要求改动下拉列表的东西,只是希望当下拉列表中没有需要的值的时候就自己手工填而已
#3
<form name=form1>
<input type=text name=abc>
<select onchange=document.form1.abc.value=this.options[this.selectedIndex].value]>
<option value="value">text</option>
</select>
</form>
<input type=text name=abc>
<select onchange=document.form1.abc.value=this.options[this.selectedIndex].value]>
<option value="value">text</option>
</select>
</form>
#4
对,就照小云的办法,TEXT里面的内容可以自己填也可以从菜单中选
#5
我也需要这样的控件,关注中
#6
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
</head>
<body>
<script language="javascript">
function aa() {
i=document.frmtest.seltest.length;
}
function pp(){
document.frmtest.seltest.options[i]=new Option(ok=(document.frmtest.seltest.options[i])?document.frmtest.seltest.options[i].innerText+String.fromCharCode(event.keyCode):String.fromCharCode(event.keyCode),ok)
document.frmtest.seltest.selectedIndex=i;
}
function edit(){
if(document.frmtest.seltest.options[i]){
if(event.keyCode==8){
var str=document.frmtest.seltest.options[i].innerText;
var len=str.length;
document.frmtest.seltest.options[i].innerText=str.substring(0,len-1);
if(document.frmtest.seltest.options[i].innerText=="")
document.frmtest.seltest.remove(i);
}
if(event.keyCode==13)return false;
if(event.keyCode==32){
document.frmtest.seltest.options[i].innerText+=" ";
}
}
}
</script>
<body onload=aa();>
得到的数据:<%=request.form("seltest")%>
<form name=frmtest action=test.asp method="POST">
<select onkeypress=pp() onkeyup="edit()" name="seltest">
<option>测试程序</option>
<option>nanaka</option>
<option>zergman</option>
</select>
<input type=submit>
</form>
</body>
</body>
</html>
焦点在下拉框时候,直接输入内容就会在下拉框中出现~这是你想要的吧~
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
</head>
<body>
<script language="javascript">
function aa() {
i=document.frmtest.seltest.length;
}
function pp(){
document.frmtest.seltest.options[i]=new Option(ok=(document.frmtest.seltest.options[i])?document.frmtest.seltest.options[i].innerText+String.fromCharCode(event.keyCode):String.fromCharCode(event.keyCode),ok)
document.frmtest.seltest.selectedIndex=i;
}
function edit(){
if(document.frmtest.seltest.options[i]){
if(event.keyCode==8){
var str=document.frmtest.seltest.options[i].innerText;
var len=str.length;
document.frmtest.seltest.options[i].innerText=str.substring(0,len-1);
if(document.frmtest.seltest.options[i].innerText=="")
document.frmtest.seltest.remove(i);
}
if(event.keyCode==13)return false;
if(event.keyCode==32){
document.frmtest.seltest.options[i].innerText+=" ";
}
}
}
</script>
<body onload=aa();>
得到的数据:<%=request.form("seltest")%>
<form name=frmtest action=test.asp method="POST">
<select onkeypress=pp() onkeyup="edit()" name="seltest">
<option>测试程序</option>
<option>nanaka</option>
<option>zergman</option>
</select>
<input type=submit>
</form>
</body>
</body>
</html>
焦点在下拉框时候,直接输入内容就会在下拉框中出现~这是你想要的吧~
#7
to 小云 : 这样的话,就出现了两行了,一个是<input type=text name=abc>行,一个是select行了,我的要求是在同一个框里面啊。
#8
你把<input>放在<select>上面就可以了
别人又不知道你是放了两个控件
别人又不知道你是放了两个控件
#9
他想要可以在下拉菜单里直接输入
只能自己做一个新控件了
只能自己做一个新控件了
#10
恩,webassassin(刺客) 说的对,不过要把下拉菜单右边的小三角留出来,可以点到下拉菜单进行选择