2010-10-29 19 views
10

有一個HTML列表框:我如何列表框的高度設置爲自動

<select id="targetField" multiple="multiple" name="D1" style="width:200px;"> 
       <option>INDIA</option> 
       <option>USA</option> 
       <option>UK</option> 
       <option>AUSTRALIA</option> 
       <option>RUSSIA</option> 
       <option>FRANCE</option> 
       <option>HOLLAND</option> 
</select> 

我需要設置的這種自動即高度我不想滾動條出現。

我試圖Height:auto;但它不是在IE工作。

我該怎麼做?

回答

15

設置size property到的項目數,像這樣:

<select id="targetField" multiple name="D1" style="width:200px;" size="7"> 

如果您需要以編程方式做到這一點,你可以設置所有<select>元素的選項長度,就像這樣:

$("select").attr("size", function() { return this.options.length; }); 

You can test it out here

0

嘗試height:100%。它是在IE6

+0

nope.It不要在IE 8的工作。 – 2010-10-29 08:58:23

1

工作,就可以使用「行高」 eighter並把值「高度」修改它。

<select id="targetField" multiple="multiple" name="D1" style="width:200px; line-height:27px; float:left; height:130px;"> 
       <option>INDIA</option> 
       <option>USA</option> 
       <option>UK</option> 
       <option>AUSTRALIA</option> 
       <option>RUSSIA</option> 
       <option>FRANCE</option> 
       <option>HOLLAND</option> 
</select> 

希望這會有所幫助。

1

將size屬性設置爲等於項目數量(選項)。

var select = $('#targetField'); 
select.attr('size', select[0].options.length); 
相關問題