Возможны ли многострочные параметры в тегах выбора HTML?

Возможно ли (используя только HTML) отображать select с option, каждая из которых занимает несколько строк?


person chriss    schedule 22.07.2009    source источник
comment
Я не думаю, что это возможно, используя только select и опцию tags   -  person Virat Kadaru    schedule 22.07.2009


Ответы (7)


Это невозможно с помощью элемента управления выбором html.

Вы можете использовать div, который может действовать как выпадающий список, используя JavaScript и css.

person rahul    schedule 22.07.2009

это не только невозможно в стандартном HTML, но тогда (как объект) станет несовместимым с тем, как устройства IOS обрабатывают тег option, который должен отображать список прокрутки, поэтому даже неразумно хотеть, чтобы тег параметра вел себя таким образом, поскольку это может сильно и неожиданно нарушить совместимость между устройствами.

как ответили другие (у меня пока недостаточно репутации, чтобы проголосовать или прокомментировать), это должно быть сделано с использованием стилей css/div и т. д., и, таким образом, оно намного более расширяемо с полной функциональностью html в каждом из < em>option tag, а также (через стили css) для мобильных устройств.

person Etienne Dubois    schedule 13.11.2014

Если в вашем случае iOS усекает длинный текст параметра, то решение из Как исправить обрезанный текст в элементе ‹select› на iOS7 может помочь.

Добавьте пустую группу опций в конец списка выбора:

Вы можете реализовать так:

<select>
  <option selected="" disabled="">option first</option>
  <option>another option that is really long and will probably be truncated on a mobile device</option>
  ...
  <optgroup label=""></optgroup>
</select>
person dlolsen    schedule 11.04.2016

Поскольку представление элемента select зависит от пользовательского агента, я боюсь, что у вас не может быть этого, если только какой-то UA фактически не реализует его. Но select как ListBox или ComboBox никогда не нуждался в элементах, занимающих несколько строк. Кроме того, это сильно запутает пользователей, поскольку они привыкли к одной строке = одному элементу.

person Joey    schedule 22.07.2009

No.

Вместо этого вы можете использовать переключатели, их <label> могут переноситься по словам.

person Quentin    schedule 22.07.2009

Это было бы возможно, используя JavaScript со стилем CSS для элементов HTML, что легко сделать с помощью такой среды, как Dojo Toolkit. В противном случае используйте элементы управления Radio или Checkbox.

person aehlke    schedule 22.07.2009

Что о:

<!DOCTYPE html>
<html>
<body>

<select size="13" multiple>
  <option value="volvo">Volvo</option>
  <option value="saab">Saab</option>
  <option value="opel">Opel</option>
  <option value="audi">Audi</option>
  <option value="volvo">Volvo</option>
  <option value="saab">Saab</option>
  <option value="opel">Opel</option>
  <option value="audi">Audi</option>
  <option value="volvo">Volvo</option>
  <option value="saab">Saab</option>
  <option value="opel">Opel</option>
  <option value="audi">Audi</option>
  <option value="volvo">Volvo</option>
  <option value="saab">Saab</option>
  <option value="opel">Opel</option>
  <option value="audi">Audi</option>
</select>

</body>
</html>

Я не знаю, то ли это то, что вы искали, но, возможно, это могло бы вам помочь.

Если вы хотите выбрать несколько параметров, вы должны нажать Ctrl + щелчок, чтобы выбрать дополнительные параметры.

Если вы хотите отключить множественный выбор, просто удалите параметр «несколько» из тега SELECT.

person user3348274    schedule 02.05.2016
comment
НЕ множественный выбор, это многострочное то, что он ищет, как он заявил в своем вопросе. - person ErTR; 31.05.2016
comment
Да, я предоставил дополнительную информацию. многострочный, заданный атрибутом размера. Я сказал: если вы хотите отключить множественный выбор, просто сотрите множественный параметр из тега SELECT. - person user3348274; 03.06.2016
comment
Этот (дублирующийся) вопрос дает хороший пример того, что задают: stackoverflow.com/questions/15368502/ - person Scala Enthusiast; 26.02.2019