<select name="select" multiple size="5" style="width:410px">
    <option value="1" selected="selected">dsadasfhdsiyfduisyfuidsyfidsyuif</option>
    <option value="2">aaaaaaa</option>
    <option value="3">aaaaa</option>
  </select>

解决方案 »

  1.   

    <select name="select" multiple size="5" style="width:expression(this.offsetWidth>100?'auto':'100')">
        <option value="1" selected="selected">dsadasfhdsiyfduisyfuidsyfidsyuif</option>
        <option value="2">aaaaaaa</option>
        <option value="3">aaaaa</option>
      </select>
      

  2.   

    一楼比较搞笑;
    二楼高手,但是这样做会破坏整个页面的结构啊,人家是要求select的宽度不变,option上面出现tooltip提示。期待更好的方案。
      

  3.   

    可以试试响应select的onmouseover事件,然后显示一个popup窗口来提示内容
      

  4.   

    捕捉鼠标的位置,判断是哪个option,然后显示一个popup窗口,只是option坐标位置较难判断。
    另外如何判断select处于下拉状态?
      

  5.   

    回复人: qiangsheng(做人很厚道) ( ) 信誉:100  2005-10-12 17:05:00  得分: 0  
    二楼这样做会破坏整个页面的结构啊,人家是要求select的宽度不变,option上面出现tooltip提示。
    期待更好的方案。-----
    也许不符合最初的要求,
    但也许就是最终的解决方案。
      
    有时上帝的要求不合理
    或上帝的要求太完美以至无法|很难做到
    那就只能找一个替代方案来大略满足上帝的要求
    尽管不是尽善尽美
     
      

  6.   

    大花猫说的这个捕捉鼠标的位置,判断是哪个option,然后显示一个popup窗口,只是option坐标位置较难判断。
    另外如何判断select处于下拉状态?--------------------------------------------判断下拉状态我以前试过了,没成功过,
    楼主的问题,实在不行就用input和DIV层做吧,这样肯定可以满足你的上帝的要求的,不过代码就多了。
      

  7.   

    當鼠標放在<option> 時 觸發他的事件應該是什麼呢?
      

  8.   

    强调:只在FF下可行,IE自己想办法!
    <select name="select" multiple size="5" style="width:110px" onmouseover="javascript:var div;for(var $i=0;$i<this.length;$i++){this[$i].onmouseover=function(){div=document.createElement('div');div.id='optips';div.innerHTML=this.innerHTML;div.style.backgroundColor='#FFE4C4';div.style.position='absolute';div.style.left=event.clientX;div.style.top=event.clientY;document.body.appendChild(div);};this[$i].onmouseout=function(){document.body.removeChild(document.getElementById('optips'));}}">
      <option value="1" selected="selected">dsadasfhdsiyfduisyfuidsyfidsyuif</option>
      <option value="2">aaaaaaa</option>
      <option value="3">aaaaa</option>
    </select>
      

  9.   

    SELECT对象做不到,模拟的吧。
      

  10.   

    <HTML><HEAD>
    <META http-equiv=Content-Type content="text/html; charset=gb2312">
    <META content="MSHTML 6.00.2900.2180" name=GENERATOR></HEAD>
    <BODY>
    <DIV id=div1 style="OVERFLOW: auto; ; WIDTH: expression(document.all.s1.offsetWidth+18); ; HEIGHT: expression(5*15)"><SELECT onmousemove=showTitle(this); style="WIDTH: 120px" onmouseout=hideTitle(this); size=6 name=s1> <OPTION>aaaaaaaaaaaaaaaaaaaaaa1<OPTION>bbbbbbbbbbbbbbbbbbbbbbbbb1<OPTION>cccccccccccccccccccccccc1<OPTION>ddddddddddddddddddddddd1<OPTION>eeeeeeeeeeeeeeeeeeeeeee1<OPTION>fffffffffffffffffffffffffff1</OPTION></SELECT> </DIV>
    <SCRIPT> 
    //定义Popup 
    var oP=window.createPopup(); 
    oP.document.body.style.background="beige"; 
    //popup是否已显示 
    var oPShow=0; 
    function showTitle(obj){ 
    var h=event.offsetY; 
    var fontsize=(obj.style.fontSize==""?(obj.currentStyle.fontSize==""?"9":obj.currentStyle.fontSize):obj.style.fontSize); 
    fontsize=parseInt(fontsize)*1.6; 
    var l=parseInt(h/fontsize); 
    oP.document.body.innerText=obj.options[l].text; 
    len=obj.options[l].text.length*8; 
    oP.show(event.offsetX+20,event.offsetY+fontsize+5,len,fontsize,document.body); 
    oPShow=1; 

    function hideTitle(obj){ 
    if(oPShow==1)oP.hide(); 

    </SCRIPT>
    </BODY></HTML>
      

  11.   

    楼上的,单选的 select 框怎么实现呢?估计楼主是问这个呢。
      

  12.   

    我说错了,是 size=1 的select框
      

  13.   

    楼上的,楼主是在问
     <select name="select" multiple size="5" style="width:110px">
        <option value="1" selected="selected">dsadasfhdsiyfduisyfuidsyfidsyuif</option>
        <option value="2">aaaaaaa</option>
        <option value="3">aaaaa</option>
      </select>
    这个啊!所以我的回答应该符合要求,不过只能用在IE下