Як створити список HTML в HTML, не допускаючи багаторазового вибору?


97

Я не маю великого досвіду роботи в HTML. Я хочу створити простий список списку, але одна з вимог - ВІДМОВИТИ багаторазовий вибір. Більшість кодів для списків входить так:

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

Але це дозволяє зробити багаторазовий вибір.

Тут було задано аналогічне запитання, але "найкраща" відповідь була скасована. Тож я не впевнений, як ще можна це зробити. Будь ласка, допоможіть.


5
Для інших ваших новаків, будь ласка, уникайте вищезгаданого веб-сайту для власного блага - вони отримали хороший SEO, але це все. Це пронизано поганими звичаями та звичками, про які ви будете шкодувати, що дізналися пізніше. Використовуйте API від MDN (Mozilla), в цьому випадку developer.mozilla.org/en-US/docs/Web/HTML/Element/select .
Бен

3
@Steve дякую за попередження. Його коментар "Ось чому я маю роботу" натрапив також на зарозумілість. Якщо у вас є робота, добре для вас. Це форум для відповідей, а не реклами.
CodeBlue

Відповіді:


170

Просто використовуйте атрибут size:

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

Для уточнення додавання атрибуту розміру не видалило багаторазовий вибір.

Один вибір працює, оскільки ви видалили атрибут multiple = "multiple".

Додавання атрибута size = "5" все ще є хорошою ідеєю, це означає, що має бути відображено принаймні 5 рядків. Повну посилання див. Тут


2
Прихильне до правди. Крім того, коли питання було розміщено раніше, це рішення, можливо, не настільки широко підтримується у всіх браузерах.
aaroncatlin

Ймовірно, це було недозволеним, оскільки в стандартах HTML немає нічого, що вимагає від браузера відображати його як список списку, якщо встановлено атрибут розміру. Так, всі основні веб-переглядачі наразі роблять, але немає гарантії, що вони завжди будуть. Реально, однак, це було б суттєвою зміною для багатьох веб-сайтів, але жоден браузер, ймовірно, не змінить.
Елезар

1
Стандарт відкритий для невеликої інтерпретації: "Розмір відображення елемента вибору є результатом застосування правил для розбору невід'ємних цілих чисел до значення атрибута розміру елемента , якщо у нього є одне, і його розбір є успішним." Хоча це спеціально не говорить про те, що воно повинно відображатися у вигляді спадного списку чи списку списків, було б важко відобразити елемент управління, який містить більше 1 елемента. ( html.spec.whatwg.org/#the-select-element )
aaroncatlin

Дякую!! І це, очевидно, може бути динамічним для Js: D
Jcc.Sanabria


2

Для Asp.Net MVC

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

або

  @Html.ListBoxFor(model => model.parameterName,
  ViewBag.ParameterValueList as MultiSelectList,
   new{
       data_placeholder = "Select Options ",
       @class = "chosen-select form-control"
   })
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.