Ale*_*lex 90 html css html-select
显然这不起作用:
select[multiple]{
height: 100%;
}
Run Code Online (Sandbox Code Playgroud)
它使选择具有100%的页面高度...
auto 也不起作用,我仍然得到垂直滚动条.
还有其他想法吗?

Ale*_*lex 120
我想你可以使用该size属性.它适用于所有最近的浏览器.
<select name="courses" multiple="multiple" size="30" style="height: 100%;">
Run Code Online (Sandbox Code Playgroud)
小智 65
您可以使用标记中的size属性执行此操作select.假设您有8个选项,那么您可以这样做:
<select name='courses' multiple="multiple" size='8'>
Run Code Online (Sandbox Code Playgroud)
小智 27
旧的,但这将做你不需要jquery的事情.隐藏的溢出摆脱了滚动条,javascript使它成为正确的大小.
<select multiple='multiple' id='select' style='overflow:hidden'>
<option value='foo'>foo</option>
<option value='bar'>bar</option>
<option value='abc'>abc</option>
<option value='def'>def</option>
<option value='xyz'>xyz</option>
</select>
Run Code Online (Sandbox Code Playgroud)
而且只需要少量的javascript
var select = document.getElementById('select');
select.size = select.length;
Run Code Online (Sandbox Code Playgroud)
小智 13
对于jQuery,你可以试试这个.我总是做以下工作.
$(function () {
$("#multiSelect").attr("size",$("#multiSelect option").length);
});
Run Code Online (Sandbox Code Playgroud)
mat*_*mmo 10
您只能在Javascript/JQuery中执行此操作,您可以使用以下JQuery执行此操作(假设您已选择了多选的id):
$(function () {
$("#multiSelect").css("height", parseInt($("#multiSelect option").length) * 20);
});
Run Code Online (Sandbox Code Playgroud)
演示:http: //jsfiddle.net/AZEFU/
小智 5
我知道这个问题已经过时了,但主题如何没有结束我会给予我帮助.
属性"大小"将解决您的问题.
例:
<select name="courses" multiple="multiple" size="30">
Run Code Online (Sandbox Code Playgroud)
<select id="list">
<optgroup label="Group">
<option value="1">1</option>
</optgroup>
</select>
<script>
const l = document.getElementById("list")
l.setAttribute("size", l.childElementCount + l.length)
</script>
Run Code Online (Sandbox Code Playgroud)
https://jsfiddle.net/maars/ou5f3jzy/