将<select>显示为只有一个选择的可滚动列表?

Pur*_*ari 4 html html-select

我有一个<select>看起来像这样的列表.

simplelist中

<select>
    <option>Option 1</option>
    <option>Option 2</option>
    <option>Option 3</option>
</select>
Run Code Online (Sandbox Code Playgroud)

我希望它看起来像这样.

multiplelist

现在,这可以通过添加multiplesize属性来实现.

<select multiple size="3">
    <option>Option 1</option>
    <option>Option 2</option>
    <option>Option 3</option>
</select>
Run Code Online (Sandbox Code Playgroud)

但这也允许用户选择多个元素.只是size="3"不起作用(至少在Firefox 28.0中); 它显示为下拉列表.

这里的规范似乎没有包含任何可以做到这一点的属性,尽管它确实说明了这一点

浏览器不需要将选择元素呈现为滚动列表框.

但有什么办法让它看起来我想要但仍然只允许一个选择?使用JavaScript的简单解决方法也适合我.

Den*_*aia 7

根据我的经验,size="3"诀窍是:http://jsfiddle.net/pU39G/

<select size="3">  <!-- Note: I've removed the 'multiple' attribute -->
    <option>Option 1</option>
    <option>Option 2</option>
    <option>Option 3</option>
</select>
Run Code Online (Sandbox Code Playgroud)

在Chrome 33和Firefox 27上测试过.我仍然没有Firefox 28,但如果它在那里不起作用,它似乎是一个回归.