2014-01-19 23 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