2011-03-17 124 views
118

我有一個<SELECT multiple>字段有多個選項,我想讓它只能同時選擇一個選項,但用戶可以按住CTRL鍵並一次選擇更多的項目。<SELECT multiple> - 如何僅允許選擇一個項目?

有沒有辦法如何做到這一點? (我不想刪除'多個')。

+5

什麼?爲什麼?這需要更多的解釋。 – Dai 2011-03-17 11:17:35

+4

通過不使用多個與您的選擇? :) – GordonM 2011-03-17 11:19:24

+3

@GordonM yeah完全:P我今天正在尋找同樣的東西,因爲我想要多個項目_show_(這是暗示與'multiple'屬性),而實際上不能選擇多個。忘記了做這個的屬性被稱爲'尺寸',所以最好的答案爲我服務:) – Luc 2013-05-16 13:28:45

回答

246

只是不要讓它選擇多,但大小設置它,如:

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

工作例如: https://jsfiddle.net/q2vo8nge/

+0

感謝馬科斯:) – Zuks 2016-10-26 07:16:20

+0

是否有可能以編程方式計算大小屬性中的

+0

@Natasha你可以使用jquery得到size字段的值:-) – 2017-04-28 11:53:17

9

爲什麼你不想刪除multiple屬性?該屬性的全部目的是向瀏覽器指定可以從給定的select元素中選擇多個值。如果只選擇一個值,則刪除該屬性,瀏覽器將知道只允許單個選擇。

使用你有的工具,這就是他們的目的。

+1

啊。 size屬性也可以獨立運行。沒有注意到。謝謝 – simPod 2011-03-17 20:48:11

+5

@simPod的推理是因爲有時客戶需要看到他們面前的所有選項,但只能選擇其中的一個。自從我寫了「真正的」html以來,我已經很長時間了,我不得不google/bing這個答案......哦,感謝天堂StackOverflow有些日子了。 – 2012-01-27 01:11:31

23

如果用戶應該選擇一次只有一個選擇,只是刪除了 「多」 - 讓一個正常的選擇:

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

Fiddle

1

默認情況下,您只需要一個選項,但用戶可以通過按下CTRL鍵來選擇多個選項。這已經(已經)完全是SELECT多重行爲的意思。

看到這個:http://www.w3schools.com/tags/tryit.asp?filename=tryhtml_select_multiple

能否請你澄清你的問題?

+0

Awww我現在明白了這個問題,這要感謝Marcos Placona。最初的問題措辭不好。 – Cogicero 2011-03-17 11:23:01

+0

儘管我個人認爲當您顯示多個選擇選項但用戶只能選擇一個時,對用戶的體驗是「不公平的」。 – Cogicero 2011-03-17 11:24:49

+1

取決於具體情況 – simPod 2012-05-15 20:43:22

1

我來到這裏後搜索谷歌和改變事情在我的結束。

所以我只是改變這個示例,它將在運行時與jquery一起工作。

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

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

+0

這個問題有什麼問題 – Ajay2707 2015-05-28 07:18:50

+4

你基本上是在做一個被接受的答案,但以一種複雜的方式。除了在運行時刪除多個屬性,您可以直接在HTML中刪除它。 http://jsfiddle.net/3rkk6m9a/ – morph 2015-06-19 11:43:54

1

我有選擇\多選 有些往來,這是什麼做的把戲我

<select name="mySelect" multiple="multiple"> <option>Foo</option> <option>Bar</option> <option>Foo Bar</option> <option>Bar Foo</option> </select>

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

這種簡單的解決方案允許獲得直觀地列出選項列表,但只能選擇一個選項。

+4

歡迎來到SO。請添加詳細的描述 – 2016-05-13 15:26:50

相關問題