< SELECT 多重 >-如何只允许选择一个项目?

我有一个 <SELECT multiple>字段与多个选项,我想让它只有一个选项选择在同一时间,但用户可以持有 CTRL 键,并选择更多的项目一次。

有什么办法可以做到这一点吗? (我不想删除“多重”)。

146801 次浏览

为什么不想删除 multiple属性?该属性的全部用途是向浏览器指定可以从给定的 select元素中选择多个值。如果只应该选择一个值,删除该属性,浏览器就会知道只允许选择一个值。

用你们的工具,这就是它们的用处。

只是不要将其设置为选择的倍数,而是为其设置一个大小,例如:

  <select name="user" id="userID" size="3">
<option>John</option>
<option>Paul</option>
<option>Ringo</option>
<option>George</option>
</select>

实例: Https://jsfiddle.net/q2vo8nge/

如果用户应该一次只选择一个选项,只需删除“多个”-做一个正常的选择:

  <select name="mySelect" size="3">
<option>Foo</option>
<option>Bar</option>
<option>Foo Bar</option>
<option>Bar Foo</option>
</select>

小提琴

默认情况下,您只需要一个选项,但是用户可以通过按 CTRL 键选择多个选项。这(已经)正是 SELECT 倍数的行为方式。

看这个: http://www.w3schools.com/tags/tryit.asp?filename=tryhtml_select_multiple

你能澄清一下你的问题吗?

我来到这里后,搜索谷歌和改变我的结束的事情。

所以我只需要更改这个示例,它就可以在运行时使用 jquery。

$('select[name*="homepage_select"]').removeAttr('multiple')

Http://jsfiddle.net/ajayendra2707/ejkxgy1p/5/

我和那些精挑细选的人打过交道 这就是我的秘诀

<select name="mySelect" multiple="multiple">
<option>Foo</option>
<option>Bar</option>
<option>Foo Bar</option>
<option>Bar Foo</option>
</select>
<select name="flowers" size="5" style="height:200px">
<option value="1">Rose</option>
<option value="2">Tulip</option>
</select>

这个简单的解决方案允许可视地获得选项列表,但是只能选择一个。

虽然回答得有点晚,但可能对其他人有帮助,下面介绍如何在不删除“多重”属性的情况下做到这一点。

$('.myDropdown').chosen({
//Here you can change the value of the maximum allowed options
max_selected_options: 1
});