参考:可以自己改一下:
http://lucky.myrice.com/temp/select.html

解决方案 »

  1.   

    sorry:
    参考:可以自己改一下:
    http://lucky.myrice.com/temp/select.htm
      

  2.   

    <html>
    <body>
    <select style=width:100 onchange="this.style.width=this.options[this.selectedIndex].text.length*7+25">
    <option>12345
    <option>1234567890
    <option>123456789098765
    <option>1234567890987654321
    </select>
    </body>
    </html>
      

  3.   

    似乎是没有办法实现的,只有通过<div>自己做select了。
      

  4.   

    是指鼠标移到option上的时候就改变,鼠标移开又要改回去呀。另外,option能响应什么事件吗?
      

  5.   

    to flylyke(爱就像英雄莫问出处) :
    你那个功能也不错,但是,不是我想要的.
    你的是选定一个了以后,长度变得和选定的内容的长度一样了,我是希望,显示的时候,长度总是那么长,只有点开下拉以后,长度变大,把所有的信息都能显示出来,选定以后,长度还是指定的长度.
      

  6.   

    to tian_cookie(刘小天):
    建议不错,但是想想还是不是最好,第一,有延迟,第二,界面可能不好看.
    当然,能实现的话,也可以是一个选择.高手们:
    我的javaScript不是很好,希望大家继续帮忙!
    谢谢谢谢!
      

  7.   

    想到一个替代的方法:显示一个text,屏蔽掉键盘输入,当得到焦点的时候,在它下面显示一个table,table中列出所有的选择项,当选中其中一个的时候,将table隐藏起来,将选中的信息赋给text,这样,table的大小是可以自己定义,就可以操过text的长度了,这样,也不错哦.
    但是,我不会写这些代码,希望高手们帮助.
    当然,text用select最好.在线等待.....
      

  8.   

    <html>
    <body>
    <select style=width:100 onclick="this.style.width='';" onblur=this.style.width=100>
    <option>12345
    <option>1234567890
    <option>123456789098765
    <option>1234567890987654321
    </select>
    </body>
    </html>
    就是有延迟的那一个了,但是还凑合能用
      

  9.   


    <style>
    .optionForSel {font-size:9pt}
    </style><table cellpadding="0" cellspacing="0" border="0" width="300">
    <tr>
    <td id="selectLength" width="100%" style="height:20px;padding:0px;border:2px inset #404040;border-right:0px;border-bottom:1px solid #D4D0C8;font-size:9pt;">
    <div id="selectedValue" style="padding:2px;border:0px;width:100%;height:20px;font-size:9pt;vertical-align:bottom"></div>
    </td>
    <td width="20" style="height:20px;padding:0px;border-top:2px inset #404040;border-left:0px;border-right:1px solid #D4D0C8;border-bottom:1px solid #D4D0C8;font-size:9pt">
    <input type=button style="width:20px;height:20px;font-family:Webdings" value="6" id="mm" onclick="mm_Click()" align="absmiddle">
    </td>
    </tr>
    </table>
    <div id="dropdownOption" style="position:absolute;visibility:hidden;width:00%;border:1px solid #080808;z-index:1000;background-color:#FFFFFF">
    <table cellpadding="0" cellspacing="1" class="optionForSel" bgcolor="White">
    <tr onmouseover="this.style.backgroundColor='#0099ff'" onmouseout="this.style.backgroundColor=''">
    <td onclick="document.all.selectedValue.innerText=this.innerText">
    <nobr>
    <a href="http://lucky.myrice.com">Visit1Visit1Visit1Visit1Visit1Visit1Visit1Visit1Visit1Visit1Visit1Visit1Visit1Visit1Visit1Visit1Visit1Visit1Visit1Visit1Visit1Visit1</a>
    </nobr>
    </td>
    </tr>
    <tr>
    <td onmouseover="this.style.backgroundColor='#0099ff'" onmouseout="this.style.backgroundColor=''"onclick="document.all.selectedValue.innerText=this.innerText"><nobr>
    <a href="http://lucky.myrice.com">测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字</a>
    </nobr>
    </td>
    </tr>
    </table>
    </div><script>
    function mm_Click()
    {
    if(document.all.dropdownOption.style.visibility == 'visible')
    document.all.dropdownOption.style.visibility='hidden'
    else
    document.all.dropdownOption.style.visibility='visible'
    }
    function init(){
    document.all.dropdownOption.style.width = document.all.selectLength.clientWidth + 22;
    document.all.selectedValue.contentEditable = true;
    var strTop = 0;
    var strLeft = 0;
    var e1 = document.all.selectLength;
    while(e1.tagName != "BODY")
    {
    strTop += e1.offsetTop
    strLeft += e1.offsetLeft
    e1 = e1.offsetParent
    }
    document.all.dropdownOption.style.top = String(strTop + 24) + "px";
    document.all.dropdownOption.style.left = String(strLeft) + "px";
    }function clickE()
    {
    if(window.event.srcElement.id !='mm')
    document.all.dropdownOption.style.visibility='hidden';
    }document.onclick = clickE
    window.onload = init
    </script>
    <br>
    <br>
    <input onclick="alert(document.all.selectedValue.innerText)" type="button" value="得到选中的值">
      

  10.   

    不知道这个效果如何?
    <span>
    <input name=iData size=10><input type=button onclick=showSel(true) value=v>
    <br><select id=qswh size=10 style=position:absolute;display:none onchange=selText(iData)>
    <option>1
    <option>12
    <option>123
    <option>1234
    <option>12345
    <option>123456
    <option>1234567
    <option>12345678
    <option>123456789
    <option>1234567890
    <option>12345678909
    <option>123456789098
    <option>1234567890987
    <option>12345678909876
    <option>123456789098765
    <option>1234567890987654
    <option>12345678909876543
    <option>123456789098765432
    <option>1234567890987654321
    </select>
    </span>ttt
    <script>
    function document.onclick(){
    showSel(false)
    }
    function showSel(flag){
    document.all.qswh.style.display=(flag?"block":"none")
    window.event.cancelBubble=true;
    }
    function selText(obj){
    obj.value=(document.all.qswh.options[document.all.qswh.selectedIndex].text)
    //showSel(false)
    }
    </script>
      

  11.   

    感谢以上几位高手的帮助,谢谢你们!
    JavaScript分区是我到过的最好的分区之一!
    我会常来这里的.