可编辑下拉框

<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>     
</head>       
<body>     
<table   style="border:2px   outset;background-color:#d2e8FF"   width="250"   height="100"   align="left">       
      <tr>     
          <td   width="60%"   height="30"   align="center">     
            <select   name="fason">     
                <option   value="可编辑下拉框">可编辑下拉框</option>     
                <option   value="作者">作者</option>     
            </select>     
          </td>       
      </tr>     
</table>         
<script   language="javascript">     
    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+"'   οnchange='"+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.οnchange=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()     
</script>     
      
</body>     
      
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值