加个css样式
word-break:break-all

解决方案 »

  1.   

      第一次逛這個模塊.
      這么久了,我怎么沒遇到樓主說的這種情況呢... 寬度不是根據內容來變的麼.?  學習 ing...
      

  2.   

    加哪  怎么加阿
    比方说
    <select style="width:400">
      <option value="">adfdfdffsdfdfdfdsfsdfsdafdsfsd
      <option value="">323546565756
      <option value="">2loiuarcticoeidlelweox
      <option value="">44444
      </select>
      

  3.   

    <tag title="CatName">CatName</tag>
      

  4.   

    宽度可以调的   你看我上面的代码就知道了     
    <select   style= "width:150"> 
        <option   value= " "> 2loiuarcticoeidlelweox 
        <option   value= " "> 323546565756 
        <option   value= " "> adfdfdffsdfdfdfdsfsdfsdafdsfsd 
        <option   value= " "> 44444 
        </select> 
      

  5.   

    <select>
        <option   value= " "> adfdfdffsdfdfdfdsfsdfsdafdsfsd
        <option   value= " "> 323546565756
        <option   value= " "> 2loiuarcticoeidlelweox
        <option   value= " "> 44444
    </select>去掉style= "width:400"将会按最长的显示不知道lz想要什么呢
      

  6.   

    宽度可以自己设定的   比方说下面代码   运行起来就知道了<select   style= "width:150 "> 
        <option   value= " "> adfdfdffsdfdfdfdsfsdfsdafdsfsd 
        <option   value= " "> 323546565756 
        <option   value= " "> 2loiuarcticoeidlelweox 
        <option   value= " "> 44444 
        </select> 
      

  7.   

    <select   style= "width:150 "> 
        <option   value= " "> adfdfdffsdfdfdfdsfsdfsdafdsfsd 
        <option   value= " "> 323546565756 
        <option   value= " "> 2loiuarcticoeidlelweox 
        <option   value= " "> 44444 
        </select> 
    150是固定在页面显示的   我想要下面的拉长显示全部   你们去看firefox浏览器下就是这样
    但在ie下就不好用
      

  8.   

    在下拉选项上悬停好像不能实现
    在Select上悬停,可以实现。
      

  9.   

    <tag   title= "CatName "> CatName </tag>
    这是什么意思????
    解释下
      

  10.   

    我还告诉你们
    这个拿到firefox浏览器下就正好符合我的要求
    就是说  上面菜单固定后  下拉后的数据根据数据的长度调整的
    但不知道为什么ie就不好用
      

  11.   

    明白你的意思
    不过想不出解决办法
    奇怪firefox竟然可以
      

  12.   

    你就是希望鼠标移动到Option上的时候,显示这个Option的全部信息嘛
    不过Option不支持事件,只有Select支持事件,你可以在Select的onMouseOver时弹出一个提示,不过跟你的要求也不太符合。
      

  13.   

    select 的宽度是固定的,要显示所有内容,调宽点
    或者自己写个自定义控件
      

  14.   

    select   的宽度是固定的,要显示所有内容,调宽点 
    或者自己写个自定义控件
    -----------------------------------------------------
    都说了不能调宽   布局就是这样的
    怎么写个子定义控件#24   具体点
    教教我~~~~`
      

  15.   

    ie下好像就是不可以 最好自己实现一个类似的select功能
      

  16.   

    只能这样了    自己作个控件类似select的
      

  17.   

    <select style= "width:expression(this.offsetWidth>150?'auto':'150');min-width:150;"> 
        <option value= " "> adfdfd 
        <option value= " "> 323546565756 
        <option value= " "> 2loi 
        <option value= " "> 44444 
    </select> 
    ------------
    JK注:
    expression是for ie的
    min-width是for ff的
      

  18.   

    我自己做的一个ComboBox,可以解决你的问题,不过还不够完美,你可以参考一下思路:
    <html>
      <head>
      </head>
      <body>
    <script language='javascript' type='text/javascript'>
      var arrOption = new Array(new Array('1','z1'),new Array('2','z2'),new Array('3','z3'));//要写入的Option
      youbl_ComboBox('comboBoxTest1','','');//调用生成ComboBox
      youbl_ComboBox('comboBoxTest2','','');//调用生成ComboBox  var youbl_ComboBox_id;//用于存储ComboBox的ID
      
      // document.onclick方法 用于单击页面其它地方时,取消ComboBox选项的显示,
      // 如果重写这个方法,记得把这个方法的内容添加到重写的方法中。
      function document.onclick(){
        if(window.event.srcElement != document.getElementById('Btn' + youbl_ComboBox_id) ) youbl_DivHidden('Div' + youbl_ComboBox_id);
      }
      
      // 主函数,生成ComboBox
      // 参数:id       : ComboBox的ID,可以在后台使用Request取得
      //       val      : ComboBox的初始值
      //       arrOption: ComboBox的选项数组,可以为单个值,也可以是类似:new Array(new Array('1','z1'),new Array('2','z2')) 或 new Array(new Array('1','z1'),'2')
      function youbl_ComboBox(id,val,arrOption){
        youbl_ComboBox_id = id;
        
        //页面显示的控件就是下面的一个textbox,一个button,一个div,如果要配合自己的页面样式,请在下面修改
        var combobox = '<input type="text" name="' + id + '" id="' + id + '" ' + ((val)?'value="'+val+'"':'') + '>';//主要的TextBox
            combobox +='<input name="Btn' + id + '" id="Btn' + id + '" type="button" value="▼" onclick="youbl_DivStatusChange(\'Div' + id + '\')" ondblclick="youbl_DivStatusChange(\'Div' + id + '\')" style="border:#666666 1px solid;background-color:#c6d6fd; padding-top: 3px;padding-left:0px;height:22px;width:17px;">';//下拉按钮
            combobox +='<iframe id="Div' + id + 'Iframe" style="position:absolute; display: none; z-index:98;" frameborder="0"></iframe>';//iframe,用于遮挡Select,以防Div被Select盖住
            combobox +='<div id="Div' + id + '" style="overflow:auto;position: absolute; display: none; z-index: 99; background-Color:#ffffff; border:solid 1px #000000;"></div>';//Div,用于显示Option
        document.write(combobox);    
        
        ////// 拼接Option,并写入DIV 开始 ////////////
        var comHead = '<TABLE border="0" cellspadding="0"  cellspacing="0" style="width:100%;">';
        var comFoot = '</TABLE>';
        var comOption = '<tr id="$$trid$$" onclick=\'document.getElementById("$$obj$$").value="$$value$$";youbl_DivStatusChange("Div' + id + '");\' style=\'cursor:default;\' ' + 
                              'onmouseover=\'youbl_onRowOver(this);\' onmouseout=\'youbl_onRowOut(this);\'>' +
                          '<td>$$text$$</td></tr>';
        var comAll = comHead;
        if(arrOption == null || arrOption.length <= 0)
          comAll += '<tr id="youbl_' + id + 'null"><td style="height:150px;">&nbsp;</td></tr>';
        else if(typeof(arrOption) == 'string'){
          comAll += comOption.replace('$$obj$$',id).replace('$$value$$',arrOption).replace('$$text$$',arrOption).replace('$$trid$$','youbl_' + id + '0');//$$trid$$用于删除ComboBox选项
        }
        else{
          for(var i=0;i<arrOption.length;i++){
            var text,value;
            if(arrOption[i][0] && arrOption[i].length > 0){ //条件成立表示是数组
              text = arrOption[i][0];
              if(arrOption[i][1]) 
                value = arrOption[i][1];//如果数组只有一项,那么选项的text和value相同
              else
                value = text;
            } else 
              text = value = arrOption[i];  //不是数组,选项的text和value相同
            comAll += comOption.replace('$$obj$$',id).replace('$$value$$',value).replace('$$text$$',text).replace('$$trid$$','youbl_' + id + i.toString());//$$trid$$用于删除ComboBox选项
          }
        }
        comAll += comFoot;
        var div = document.getElementById('Div' + id);
        div.innerHTML = comAll;
        if(arrOption.length >= 15){
          div.style.height = '310px';
        }
        ////// 拼接Option,并写入DIV 完成 ////////////
        
        //给ComboBox添加方法
        var optionLen = arrOption.length;//用于设定新增选项的序号,相当于SelectedIndex,用于删除Option用
        var combox = document.getElementById(id);
        
        //该方法实现新增Option,可以不传参数,也可以传递1个参数,或2个参数(第1个是text,第2个是value)
        combox.add = function(){
          //如果开始没有选项,则先清除空的那个项
          var removeOp = document.getElementById('youbl_' + id + 'null');
          if(removeOp)
            removeOp.parentNode.removeChild(removeOp);
          
          var text='&nbsp;',value='';
          if(arguments[0])//如果只有一个参数,新Option的文本和值相同
            text = value = arguments[0];
          if(arguments[1]) 
            value = arguments[1];
          div.innerHTML = div.innerHTML.replace('</TABLE>',comOption.replace('$$obj$$',id).replace('$$value$$',value).replace('$$text$$',text).replace('$$trid$$','youbl_' + id + optionLen.toString()) + '</table>');
          optionLen++;
        }
        
        //该方法实现删除Option,参数1(必须)目前只支持数字,删除该项Option(从0开始)
        combox.remove = function(){
          if(arguments.length <= 0)return;
          var removeOp = document.getElementById('youbl_' + id + arguments[0]);
          if(removeOp){
            removeOp.parentNode.removeChild(removeOp);
          }
        }
      }//end youbl_ComboBox
      
      
      // 隐藏Div和相应的Iframe
    function youbl_DivHidden(id)
    {
      var obj = document.getElementById(id);
    if(obj && obj.style)obj.style.display = 'none';
      youbl_processIframe(obj); //隐藏相应的Iframe
    }  // 转换Option Div的状态,原来显示变为隐藏,原来隐藏变为显示
    function youbl_DivStatusChange(id)
    {
      var obj = document.getElementById(id);
    if(obj && obj.style){
      if(obj.style.display == 'none'){
        obj.style.display = '';
        //var e = window.event.srcElement;
        var e = document.getElementById(id.substring(3)); //div的ID是Div加Txt的Name,所以取3位之后。
        
         obj.style.top = e.offsetTop + document.body.scrollTop + 22;
         obj.style.left= e.offsetLeft + document.body.scrollLeft;
         //obj.style.top = e.getBoundingClientRect().top + document.body.scrollTop;
         //obj.style.left= e.getBoundingClientRect().left + document.body.scrollLeft;
            obj.style.width = e.clientWidth;
      }
      else
        obj.style.display = 'none';
      youbl_processIframe(obj);//处理相应的Iframe
    }
    }

    // 隐藏Iframe
    function youbl_processIframe(obj){
      if(obj && obj.style && obj.id){
      var IfrRef = document.getElementById(obj.id + 'Iframe');
      if(IfrRef && IfrRef.style){
        IfrRef.style.display = obj.style.display;
        if(IfrRef.style.display != 'none'){
              IfrRef.style.width = obj.offsetWidth; 
              IfrRef.style.height = obj.offsetHeight; 
              IfrRef.style.top = obj.style.top; 
              IfrRef.style.left = obj.style.left; 
              //IfrRef.style.top = obj.offsetTop;
              //IfrRef.style.left = obj.offsetLeft;
              IfrRef.style.zIndex = obj.style.zIndex - 1;
            }
          }
        }
    }

    // 下面的2个变量和方法,用于鼠标进入、离开或点击时,改变行的颜色
    // 注意:下面2个颜色必须小写
    var youbl_colorOver   = '#316ac5';//鼠标进入时行的颜色
    var youbl_colorOut    = '#ffffff';//鼠标离开时行的颜色
      function youbl_onRowOver(row){
        row.color = row.style.backgroundColor;//保存旧的背景色
        row.style.backgroundColor = youbl_colorOver;
      }
      function youbl_onRowOut(row){
        if(row.color) //如果保存了原来的背景色,就使用原来的背景色
          row.style.backgroundColor = row.color;
        else          //否则使用上面设置的背景色
          row.style.backgroundColor = youbl_colorOut;
      }
    </script><hr><input name="add1">
    <input type=button onclick="aaa()">
    <script language="javascript">
      function aaa(){
        var obj = document.getElementById('comboBoxTest');
        obj.add(document.all.add1.value);
        //obj.remove(1);
      }
      </script>
      
      <HR>
      <textarea name='t1'></textarea><br>
      <textarea name='t2'></textarea>
    </body>
    </html>
      

  19.   

    楼主的这个问题用select是解决不了的。你只能使用模拟的select,也就是用一个文本框加一个div来实现的。有很多JS库里都有现成的东西了,调用也很方便。建议你搜一下extjs或者是看看这个东西:http://ucren.redsaga.com/ucren-documents/index.html
      

  20.   

    是要类似这样的效果?http://dotnet.aspx.cc/Exam/WebDropDownList.aspx
      

  21.   

    "20楼的方法明显不行 "
    -----
    是“不行”的方法,
    不过有可能是最后“用”的方法。另外,“上面已经固定了”本身就有表意不清:如果选了一个很长的值,上面还固定吗?
    -------------------------------------------------------------------------------
    首先   这么热心非常感谢   但是你根本没有理解我的意思   也是没有看看我发帖和回答其他人所表达的    后来我实在是不愿意多写那些话来重复的告诉你们是个什么样的情况
    第一,下拉菜单已经固定长度的放在页面里,看我发的代码  <select   style=  "width:150   ">   就是说明固定长度
    第二,我是想让他下拉后显示的数据能完整,而且这些数据是未知的从数据库读出来的,如果你有firefox浏览器可以看看他所实现的效果
    所以,您的方法明显不行是打破了页面的布局,如同第一,第一个排除的就是这种方法,希望这次能理解  谢谢
      

  22.   

    对对  就是26楼的效果    怎么有点小bug
    速度比较慢,下拉菜单还是会放大缩小
    是什么做的呢     教教我
    或者把原代码发给我    
    [email protected]
    非常感谢
      

  23.   

    用图层的办法就可以拉
    不一定用SELECT
    如果你肯出多点分。。我帮你搞
      

  24.   

    我只是想得到一种思想一种方法,而不是追求结果
    更不是像某些人为了利益而产生的道德的败坏
    我还是相信web发展到现在,资源共享,仍然是他最大的亮点
      

  25.   

    汗楼上2层
    30楼想赚分,不知道分有什么用处呢?能当Money吗?
    31楼把分当成了钱(利益),上升到了道德的高度。再一次汗。