2012-03-08 5 views
81

Nie mam dużego doświadczenia w HTML. Szukam utworzenia prostego listbox, ale jednym z wymagań jest DISALLOW wielokrotnego wyboru. Większość kodu dla skrzynek listowych jest taka -Jak utworzyć listbox w HTML bez możliwości wielokrotnego wyboru?

<select name="sometext" multiple="multiple"> 
    <option>text1</option> 
    <option>text2</option> 
    <option>text3</option> 
    <option>text4</option> 
    <option>text5</option> 
</select> 

Umożliwia to wielokrotny wybór.

Here, podobne pytanie zostało zadane, ale "najlepsza" odpowiedź została odrzucona. Więc nie jestem pewien, jak inaczej można to zrobić. Proszę pomóż.

+5

Dla Ciebie innych przybyszów, należy unikać wspomnianą stronę internetową dla swojego własnego dobra - oni mają dobrą SEO, ale to wszystko. Jest przepełniony złymi praktykami i nawykami, których będziesz potem żałować. Użyj interfejsu API z MDN (Mozilla), w tym przypadku https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select. – Ben

+3

@Steve dzięki za ostrzeżenie. Jego komentarz "Z tego powodu mam pracę" również był arogancki. Jeśli masz pracę, dobrze dla ciebie. To jest forum odpowiedzi, a nie reklam. – CodeBlue

Odpowiedz

143

prostu użyć atrybutu size:

<select name="sometext" size="5"> 
    <option>text1</option> 
    <option>text2</option> 
    <option>text3</option> 
    <option>text4</option> 
    <option>text5</option> 
</select> 
+2

Przegłosowano za prawdę. Ponadto, gdy pytanie zostało wcześniej opublikowane, to rozwiązanie mogło nie być tak szeroko obsługiwane przez wszystkie przeglądarki. – aaroncatlin

+0

Zostało to prawdopodobnie wycofane, ponieważ w standardach HTML nie ma nic, co wymagałoby od przeglądarki renderowania go jako listbox, jeśli ustawiono atrybut size. Tak, wszystkie główne przeglądarki aktualnie działają, ale nie ma gwarancji, że zawsze będą. Realistycznie rzecz biorąc, byłaby to przełomowa zmiana dla tak wielu stron internetowych, żadna przeglądarka nie zmieni tego. – Elezar

+1

Norma jest otwarta na małą interpretację: _ "Rozmiar wyświetlania wybranego elementu jest wynikiem zastosowania reguł parsowania nieujemnych liczb całkowitych do wartości atrybutu ** size **, jeśli ma jeden i parsowanie to się udaje. "_ Chociaż nie oznacza to, że powinien on być wyświetlany jako dropdown lub listbox, trudno byłoby wyświetlić kontrolkę Dropdown, która pokazuje więcej niż 1 element. (https://html.spec.whatwg.org/#the-select-element) – aaroncatlin

2

dla ASP.NET MVC

@Html.ListBox("parameterName", ViewBag.ParameterValueList as MultiSelectList, 
new { 
@class = "chosen-select form-control" 
}) 

lub

@Html.ListBoxFor(model => model.parameterName, 
    ViewBag.ParameterValueList as MultiSelectList, 
    new{ 
     data_placeholder = "Select Options ", 
     @class = "chosen-select form-control" 
    })