大侠:可输入的下拉列表框怎么实现 到CSDN中的Javascript中找找,IE不提供这样的combobox,但是可以用DHTML自已做一个 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 select.js-------------/*作者:fason(阿信)日期:2003-7-1版本:v1.0备注:只作技术交流,如需转载请注明作者等有关信息,多谢合作*/function combox(obj,select){ this.obj=obj this.id=select; this.select=document.getElementById(select); /*要转换的下拉框*/}/*初始化对象*/combox.prototype.init=function(){ var inputbox="<input id='combox_"+this.id+"' name='combox_"+this.name+"' onchange='"+this.obj+".find()' onblur='"+this.obj+".addItem(this.value)' " 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" width=this.select.offsetWidth height=this.select.offsetHeight clip="rect(0 "+(this.select.offsetWidth)+" "+this.select.offsetHeight+" "+(this.select.offsetWidth-18)+")" /*切割下拉框*/ } this.select.onchange=new Function(this.obj+".change()") this.select.onresize=new Function(this.obj+".resize()") this.change()}window:onresize=function(){location.reload()}/*初始化结束*/ ////////对象事件定义///////combox.prototype.find=function(){/*当搜索到输入框的值时,下拉框自动定位*/ var inputbox=document.getElementById("combox_"+this.id) 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.getElementById("combox_"+this.id) inputbox.value=this.select.options[this.select.selectedIndex].text; with(inputbox){select();focus()};}combox.prototype.addItem=function(str){ var findText=false for(i=0;i<this.select.length;i++)if(this.select.options[i].text.indexOf(str)==0){findText=true;break} if(!findText){ this.select.options[this.select.length]=new Option(str,str) this.select.value=str }}////////对象事件结束////////*公用定位函数(获取控件绝对坐标)*/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}/*结束*/-----------------------------test.htm----------------<select name="test" id="fason1"><option value='1111'>1111</option> </select><script language="javascript" src="select.js"></script><script language="javascript">var a=new combox("a","fason1")a.init()/*var b=new combox("b","fason2")b.init()作用方法:var obj=new combox(var1,var2)var1:新生成的combox变量(如:a)var2:原下拉框的nameobj.init():对象初始化注意:后台取值时用combox_var2进行取值*/</script> Demo:http://webfx.eae.net/dhtml/combobox/combo_demo.htmDownload:http://webfx.eae.net/dhtml/combobox/ComboBox.zip http://expert.csdn.net/Expert/topic/2874/2874742.xml?temp=.0821802 关于dhtmlxgrid使用问题,求高手看看 javascript不能跨站传值? 求教: 请问我现在有个值. 现在需要通过JAVASCRIPT实现RadioButtonList的选定 用javascript切换图片在IE6中没有问题,在IE7中显示不出来,急急急 大家来帮帮我 网页制作中竖直文本滚动效果,大家帮忙看下错在哪里,谢啦 页面上的层遮盖不了SELECT下拉列表 FireFox中使用$.getScript发生的问题 如何用纯JS实现页面跳转 聊天室的名单问题!!好象一般都是用js解决,帮帮我好吗? SRC的问题,为什么不能调用页面内容? 高分求教:怎样实现表单内容的检测?
-------------
/*
作者:fason(阿信)
日期:2003-7-1
版本:v1.0
备注:只作技术交流,如需转载请注明作者等有关信息,多谢合作
*/
function combox(obj,select){
this.obj=obj
this.id=select;
this.select=document.getElementById(select);
/*要转换的下拉框*/
}/*初始化对象*/
combox.prototype.init=function(){
var inputbox="<input id='combox_"+this.id+"' name='combox_"+this.name+"' onchange='"+this.obj+".find()' onblur='"+this.obj+".addItem(this.value)' "
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"
width=this.select.offsetWidth
height=this.select.offsetHeight
clip="rect(0 "+(this.select.offsetWidth)+" "+this.select.offsetHeight+" "+(this.select.offsetWidth-18)+")"
/*切割下拉框*/
}
this.select.onchange=new Function(this.obj+".change()")
this.select.onresize=new Function(this.obj+".resize()")
this.change()}window:onresize=function(){location.reload()}
/*初始化结束*/
////////对象事件定义///////combox.prototype.find=function(){
/*当搜索到输入框的值时,下拉框自动定位*/
var inputbox=document.getElementById("combox_"+this.id)
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.getElementById("combox_"+this.id)
inputbox.value=this.select.options[this.select.selectedIndex].text;
with(inputbox){select();focus()};
}combox.prototype.addItem=function(str){
var findText=false
for(i=0;i<this.select.length;i++)if(this.select.options[i].text.indexOf(str)==0){findText=true;break}
if(!findText){
this.select.options[this.select.length]=new Option(str,str)
this.select.value=str
}
}////////对象事件结束////////*公用定位函数(获取控件绝对坐标)*/
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
}
/*结束*/
-----------------------------
test.htm
----------------
<select name="test" id="fason1">
<option value='1111'>1111</option>
</select>
<script language="javascript" src="select.js"></script>
<script language="javascript">
var a=new combox("a","fason1")
a.init()
/*var b=new combox("b","fason2")
b.init()
作用方法:
var obj=new combox(var1,var2)
var1:新生成的combox变量(如:a)
var2:原下拉框的name
obj.init():对象初始化
注意:后台取值时用combox_var2进行取值
*/
</script>
http://webfx.eae.net/dhtml/combobox/combo_demo.htm
Download:
http://webfx.eae.net/dhtml/combobox/ComboBox.zip