这个用select不能实现,只能用div模拟
<script>
function showdiv(w)
{
str="<table style='border:1 solid #000000;' width="+w+" cellspacing=0 cellpadding=0>";
for(i=0;i<document.all.mysel.options.length;i++)
str+="<tr><td style='font-size:10pt' onmouseover=myover() onmouseout=myout() onmousedown=myclick("+i+")>"+document.all.mysel.options[i].text+"</td></tr>";
likesel.innerHTML=str+"</table>";
likesel.style.display="block";
}
function myover()
{
event.srcElement.style.cursor="default";
event.srcElement.style.color="white";
event.srcElement.style.background="darkblue";
}
function myout()
{
event.srcElement.style.color="";
event.srcElement.style.background="";
}
function myclick(j)
{
document.all.mysel.selectedIndex=j;
likesel.style.display="none";
}
</script>
<body>
<select name=mysel onclick="likesel.style.display='none'" onfocus=showdiv(mysel.offsetWidth) onblur="document.all.likesel.style.display='none'">
<option value=11>1111111
<option value=12>111112
<option value=13>1111111113
</select><input><input>
<div id=likesel><div>

解决方案 »

  1.   

    只能用层模拟
    <script>
    function showdiv(w)
    {
    str="<table style='border:1 solid #000000;' width="+w+" cellspacing=0 cellpadding=0>";
    for(i=0;i<document.all.mysel.options.length;i++)
    str+="<tr><td style='font-size:10pt' onmouseover=myover() onmouseout=myout() onmousedown=myclick("+i+")>"+document.all.mysel.options[i].text+"</td></tr>";
    likesel.innerHTML=str+"</table>";
    likesel.style.display="block";
    }
    function myover()
    {
    event.srcElement.style.cursor="default";
    event.srcElement.style.color="white";
    event.srcElement.style.background="darkblue";
    }
    function myout()
    {
    event.srcElement.style.color="";
    event.srcElement.style.background="";
    }
    function myclick(j)
    {
    document.all.mysel.selectedIndex=j;
    likesel.style.display="none";
    }
    </script>
    <body>
    <select name=mysel onclick="likesel.style.display='none'" onfocus=showdiv(mysel.offsetWidth) onblur="document.all.likesel.style.display='none'">
    <option value=11>1111111
    <option value=12>111112
    <option value=13>1111111113
    </select><input><input>
    <div id=likesel><div>
      

  2.   

    看看这样行吗?<head>
    <script LANGUAGE="javascript">
    <!-- function change(){ 
     form1.mysel.Click();}-->
    </script>
    </head>
    <body>
    <form name="form1" method="post">
    <input type="text"><br>
    <select name="mysel" onFocus="change()">
      <option value="1">夺</option>
      <option value="2">取</option>
    </select>
    </form>
    </body>
      

  3.   

    不好意思,好像不行,select对象不支持click方法:(
    那你可能只好用层了
    <input type="text"><br>
    <DIV id=mnuoil style="visibility: hidden; width: 100; position: absolute; left: 15; top: 60; height: 48">
    <TABLE style="FONT-SIZE: 12px" cellSpacing=0 cellPadding=0 width="100" 
    bgColor=lightblue border=0>
    <TBODY>
    <TR><TD height=24>选项1</TD></TR>
    <TR><TD height=24>选项2</TD></TR>
    </TBODY></TABLE>
    </div>
    <select name="df" onFocus='showdiv("mnuoil")' onblur='hidediv("mnuoil")'>
      <option value="1">夺</option>
      <option value="2">取</option>
    </select><SCRIPT LANGUAGE=javascript> 
    function showdiv() {
    var a, arg=showdiv.arguments;
    a=document.all[arg[0]];
    a.style.visibility='visible';
    }
    function hidediv() {
    var a, arg=hidediv.arguments;
    a=document.all[arg[0]];
    a.style.visibility='hidden';
    }
    </SCRIPT>
      

  4.   

    大家,谢谢你们的帮助,我这儿的是asp.net控件DropDownList,不是html服务器控件select,所以用大家的方法不行的,我试验过了