不过有点复杂啊
小弟是菜鸟
好多看不懂撒

解决方案 »

  1.   

    而且小弟的菜单项里的内容是从库里取出的
      

  2.   

    <html>
    <head>
    <title>动态列表框</title>
    </head>
    <!--by fason(2003-6-3)-->
    <body onload="init()">
    <select id="chgSelect" size="5" style="position: absolute; visibility: hidden;" onchange="setValue(this)">
    <option value="csdn">csdn
    <option value="msdn">msdn
    <option value="net_lover">net_lover
    <option value="meizz">meizz
    <option value="wsj">wsj
    <option value="emu">emu
    <option value="fason">fason</option>
    <option value="saucer">saucer</option>
    <option value="21cn">21cn</option>
    <option value="sohu">sohu</option>
    </select>
    <input onkeyup="editselect(this)" id="edit"><input type=button value="6" style="font-family:webdings;height:20;" id=d onclick="show()">
    <script>   
    var sv=new Array()
    var s,ev
    function init(){
    s=document.getElementById("chgSelect")
    ev=document.getElementById("edit")
    x=ev.offsetLeft;
    y=ev.offsetTop;
    objParent=ev.offsetParent;
    while(objParent.tagName.toUpperCase()!= "BODY"){
    x+=objParent.offsetLeft;
    y+=objParent.offsetTop;
    objParent = objParent.offsetParent;
    }
    y+=ev.offsetHeight
    s.style.pixelLeft=x
    s.style.pixelTop=y
    for(i=0;i<s.options.length;i++){
    sv.push(s.options[i].value)
    }
    }
    function setValue(o){
    ev.value=o.value
    o.style.visibility='hidden';
    ev.focus()
    }
    function editselect(obj){
    var sValue=obj.value
    var n=0
    var s=document.getElementById("chgSelect")
    if(sValue.replace(/\s/g,'').length==0){s.style.visibility='hidden';return}
    s.style.visibility=''
    s.options.length=0
    for(i=0;i<sv.length;i++){
    if(sv[i].indexOf(sValue)==0){
    s.add(new Option(sv[i],sv[i]))
    n++
    }
    }
    if(n==0){s.style.visibility='hidden';return}
    }
    function show(){
    s.options.length=0
    for(i=0;i<sv.length;i++){
    s.options[s.options.length]=new Option(sv[i],sv[i])
    }
    s.style.visibility=s.style.visibility==''?'hidden':''
    }
    function document.onclick(){
    if(event.srcElement!=d)s.style.visibility='hidden'
    }
    </script>
    </body>
    </html>