比如:做个按钮,按钮上定义一个onlick事件,按钮后面紧接着是一个 可供选择的下拉框;
现在效果这样:我点击按钮,能使按钮后面的下拉框自动展开。
也就是说在onlick事件中 怎么定义才能使下拉框获得焦点而展开,查了好多资料,也没找着自己想要的,诸位有什么好的建议。

解决方案 »

  1.   


    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html>
    <head>
    <title>伸缩的菜单-/</title>
    <style>
    <!--
    body{
    background-color:#ffdee0;
    }
    #navigation {
    width:200px;
    font-family:Arial;
    }
    #navigation > ul {
    list-style-type:none;
    margin:0px;
    padding:0px;
    }
    #navigation > ul > li {
    border-bottom:1px solid #ED9F9F;
    }
    #navigation > ul > li > a{
    display:block;
    padding:5px 5px 5px 0.5em;
    text-decoration:none;
    border-left:12px solid #711515;
    border-right:1px solid #711515;
    }
    #navigation > ul > li > a:link, #navigation > ul > li > a:visited{
    background-color:#c11136;
    color:#FFFFFF;
    }
    #navigation > ul > li > a:hover{
    background-color:#990020;
    color:#ffff00;
    }#navigation ul li ul{
    list-style-type:none;
    margin:0px;
    padding:0px 0px 0px 0px;
    }
    #navigation ul li ul li{
    border-top:1px solid #ED9F9F;
    }
    #navigation ul li ul li a{
    display:block;
    padding:3px 3px 3px 0.5em;
    text-decoration:none;
    border-left:28px solid #a71f1f;
    border-right:1px solid #711515;
    }
    #navigation ul li ul li a:link, #navigation ul li ul li a:visited{
    background-color:#e85070;
    color:#FFFFFF;
    }
    #navigation ul li ul li a:hover{
    background-color:#c2425d;
    color:#ffff00;
    }
    #navigation ul li ul.myHide{
    display:none;
    }
    #navigation ul li ul.myShow{
    display:block;
    }
    -->
    </style>
    <script language="javascript">
    function change(){
    //通过父元素li,找到兄弟元素ul
    var oSecondDiv = this.parentNode.getElementsByTagName("ul")[0];
    //CSS交替更换来实现显、隐
    if(oSecondDiv.className == "myHide")
    oSecondDiv.className = "myShow";
    else
    oSecondDiv.className = "myHide";
    }
    window.onload = function(){
    var oUl = document.getElementById("listUL");
    var aLi = oUl.childNodes; //子元素
    var oA;
    for(var i=0;i<aLi.length;i++){
    //如果子元素为li,且这个li有子菜单ul
    if(aLi[i].tagName == "LI" && aLi[i].getElementsByTagName("ul").length){
    oA = aLi[i].firstChild; //找到超链接
    oA.onclick = change; //动态添加点击函数
    }
    }
    }
    </script>
    </head>
    <body>
    <div id="navigation">
    <ul id="listUL">
    <li><a href="#">Home</a></li>
    <li><a href="#">News</a>
             <ul class="myHide">
                 <li><a href="#">Lastest News</a></li>
                    <li><a href="#">All News</a></li>
                </ul>
            </li>
    <li><a href="#">Sports</a>
             <ul class="myHide">
                 <li><a href="/">Basketball</a></li>
                    <li><a href="#">Football</a></li>
                    <li><a href="#">Volleyball</a></li>
                </ul>        
            </li>
    <li><a href="#">Weather</a>
             <ul class="myHide">
                 <li><a href="#">Today's Weather</a></li>
                    <li><a href="#">Forecast</a></li>
                </ul>
            </li>
    <li><a href="#">Contact Me</a></li>
    </ul>
    </div>
    </body>
    </html>你是说这种吗
      

  2.   


    <script language="javascript">
    var showSelect= false; 
    document.onclick = hideItems;
    function hideItems(){
       if(showSelect!=true){
        if(document.all.selectDiv!=null){
         document.all.selectDiv.style.visibility='hidden';
         if(document.all.selectid!=null){
          document.all.selectid.disabled=false;
         }
        }
       }
       showSelect = false;
    }
    function showPullDown(){
       if(document.all.selectDiv!=null){
        var selectObj = document.getElementById("selectid");
        if(selectObj!=null && selectObj.size==1){
         selectObj.size=2;
         selectObj.style.height=getPullDownHeight(selectObj.length);
         selectObj.style.width=172;
        }
        document.all.selectDiv.style.visibility='visible';
        showSelect = true;
       }
    }
    function getPullDownHeight(length){
       switch(length){
        case 0:
         return 0;
        case 1:
         return 30;
        case 2:
         return 50;
        case 3:
         return 60;
        case 4:
         return 80;
        default:
         return 100;
       
       }
      
    }
    </script>
    <TABLE cellspacing="0" cellpadding="0" align="left">
          <TR>
            <TD nowrap="false">
        <input type="button" value="show pulldown below me"/>
        <input type="button" value="▼" onclick="showPullDown()" />
            </TD>
          </TR>
          <TR>
          <TD>
        <div id="selectDiv" style="padding-left:3px; position:absolute; z-index:1000;visibility:hidden">
           <select id="selectid" name="selectid" style="font-size:16px;font-weight: bold" size="1">
            <option selected value='2'>02月</option>
            <option value='9'>09月</option>
            <option value='10'>10月</option>
           </select>
        </div>
          </TD>
          </TR>
    </TABLE>
      

  3.   

    不是:
     <body>
        <input type="button" value="展开" onclick="showchange()">
        
        <select id="select" >
         <option>请选择</option>
        
         <option>select1</option>
         <option>select2</option>
         <option>select3</option>
         <option>select4</option>
        </select>
      </body>点击 展开  按钮后面的下拉框自动展开,关键是 js showchange()的写法
      

  4.   

    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
      <title>无标题页</title>
    <script src="http://hi.images.csdn.net/js/public/jquery-1.2.3.pack.js" type="text/javascript"></script></head>
    <body>
    <div style="position:relative; border:1px solid #ccc; width:100px" id="div">
    点击显示
    <ul style="display:none; position:absolute; left:0; top:5px; border:1px solid #666; width:100px">
    <li>1111111111</li>
    <li>11111111111</li>
    <li>1111111111</li>
    <li>11111111111</li>
    <li>1111111111</li>
    <li>11111111111</li>
    <li>1111111111</li>
    <li>11111111111</li>
    <li>1111111111</li>
    <li>11111111111</li>
    </ul>
    </div>
    <script type="text/javascript">
    document.getElementById("div").onclick = func;
    function func(e)
    {
    e = window.event || e;
    if(e.target.tagName=="DIV")
    {
    var list = e.target.getElementsByTagName("ul")[0];
    var disp = list.style.display;
    list.style.display=disp=="none"?"block":"none"
    }
    if(e.target.tagName == "LI")
    {
      alert("你选择了:"+e.target.innerHTML)
    }
    }</script>
      </body>
    </html>
      

  5.   

    document.onclick = hideItems;
    这个去掉就好了把?
      

  6.   

    这里报 if(e.target.tagName=="DIV")
    缺少对象的错误啊