2014-01-19 22 views
0

我目前正在研究將動態內容(通過Ajax提取)加載到select中的腳本。由於我得到多個元素,我的代碼目前看起來像這樣Firefox附加內容時擴大選擇大小

$.each(data, function(key,val) { 
    $("#myselect").append(
     $("<option></option>").val(key).html(val) 
    ); 
}); 

現在,這工作正常。當我在Chrome中測試它時,我沒有看到任何錯誤。但後來我再次看到Firefox,並且FF在追加內容時似乎擴大了設置大小。

enter image description here

火狐

enter image description here

或者,如果你想看到自己,I have created a demo fiddle

我現在的問題顯然是,是什麼導致了這種行爲,我該如何抑制它呢?

回答

2

向選擇元素添加高度解決了問題。

select { 
    height: 80px; 
    min-width: 50px; 
} 

Demo

如果從option刪除padding -elements它工作沒有調整。 Demo

+0

謝謝,但有另一種方法嗎?在固定高度的情況下,元素將無法正確填充(在您的示例中,您可以像FF中的2px一樣滾動) – kero

+1

如果您從選項元素中刪除填充,它將無需調整大小。 [演示](http://jsfiddle.net/VY9s3/3/) – MichaB

+0

這只是因爲有太多元素才能達到目的 - [demo](http://jsfiddle.net/VY9s3/4/); ) – kero