2009-12-17 40 views
1

我有一個問題,我的選擇..默認值是「請選擇」..但也有一些選項,如「住宿&酒店」..所以它比默認值..所以它沒有清楚地看到在IE瀏覽器,它在FF中可以正常工作,我該怎麼做?與CSS或JavaScript?什麼是最好的解決方案?謝謝如何選擇?

注:我想STRETCH時的<option>元素不選擇

+1

不應該選擇,如果你從給它的任何具體寬度避免自動調整大小? – 2009-12-17 11:40:36

+1

這個「問題」已經漲到了一個巨大的數倍。 http://stackoverflow.com/search?q=width+of+select+html – anddoutoi 2009-12-17 12:08:50

回答

1

好的,這是我經過一段時間後才發現的解決方案。它會根據子選項的最大寬度自動增加選擇框的大小。

<script type="text/javascript"> 
    window.onload = function() 
    { 
    var elem = document.getElementById('test'); 
    var values = elem.length; 
    var biggest_value = 0; 
    var biggest_option = ''; 

    for(var i = 0; i <= values; i++) 
    { 
     if (elem.options[i]) 
     { 
     var len = elem.options[i].value.length; 
     } 

     if (biggest_value < len) 
     { 
     biggest_value = len; 
     biggest_option = elem.options[i]; 
     } 
    } 

    document.getElementById('test').style.width = biggest_option.offsetWidth + 'px'; 

}; 
</script> 

選擇框:

<select id="test"> 
<option value="Hello">Hello</option> 
<option value="Hello Again">Hello Again</option> 
<option value="Hello Yet Again">Hello Yet Again</option> 
</select> 
0

CSS:

<style type="text/css"> 
    .myselect 
    { 
    width:150px; 
    } 
</style> 

應用myselect類的選擇框。

select {width:100%} 

這將需要父節點的全尺寸:如果你想從150

+0

但我怎麼會知道它會適合..一些項目的價值甚至更多的字符......和它的動態列表..我不要把它放在那裏..它不斷變化..我需要一些適用於所有情況的東西。謝謝 – 2009-12-17 11:38:48

+0

你可以指定一個上限。它可以伸展多少? – Sarfraz 2009-12-17 11:41:06

+0

它可以自己拉伸嗎? – 2009-12-17 11:43:48

0

你嘗試使用類似也調整寬度。

+0

我想strech