我有一个<SELECT multiple>
字段,有多个选项,我想允许它同时只选择一个选项,但用户可以按住CTRL键并一次选择更多项目。
有什么方法可以做到吗? (我不想删除'倍数')。
答案 0 :(得分:263)
只是不要使它成为选择倍数,而是设置它的大小,例如:
<select name="user" id="userID" size="3">
<option>John</option>
<option>Paul</option>
<option>Ringo</option>
<option>George</option>
</select>
答案 1 :(得分:24)
如果用户一次只能选择一个选项,只需删除“多个” - 进行正常选择:
<select name="mySelect" size="3">
<option>Foo</option>
<option>Bar</option>
<option>Foo Bar</option>
<option>Bar Foo</option>
</select>
答案 2 :(得分:9)
为什么不删除multiple
属性?该属性的整个目的是为浏览器指定可以从给定的select
元素中选择多个值。如果只选择一个值,则删除该属性,浏览器将知道只允许一个选择。
使用您拥有的工具,这就是他们的目标。
答案 3 :(得分:1)
默认情况下,您只需要一个选项,但用户可以通过按CTRL键选择多个选项。这已经(已经)确切地说SELECT多数是如何表现的。
请参阅:http://www.w3schools.com/tags/tryit.asp?filename=tryhtml_select_multiple
你能澄清一下你的问题吗?
答案 4 :(得分:1)
我在搜索谷歌后来到这里,并在我的结束时改变了事情。
所以我只是更改了这个示例,它将在运行时使用jquery。
$('select[name*="homepage_select"]').removeAttr('multiple')
答案 5 :(得分:1)
我和select \ multi-select有过一些交易 这就是我的诀窍
<select name="mySelect" multiple="multiple">
<option>Foo</option>
<option>Bar</option>
<option>Foo Bar</option>
<option>Bar Foo</option>
</select>
答案 6 :(得分:1)
<select name="flowers" size="5" style="height:200px">
<option value="1">Rose</option>
<option value="2">Tulip</option>
</select>
这个简单的解决方案可以直观地获取选项列表,但只能选择一个。
答案 7 :(得分:0)
最后一个答案,但可能会对其他人有所帮助,这是在不删除'multiple'属性的情况下的方法。
$('.myDropdown').chosen({
//Here you can change the value of the maximum allowed options
max_selected_options: 1
});