Как показать все опции выбранного элемента сразу? - PullRequest
0 голосов
/ 12 мая 2018

У меня есть элемент select.Мне нужно показать все опции одновременно, не опуская, как это изображение enter image description here

Как я мог сделать это с помощью CSS?

1 Ответ

0 голосов
/ 12 мая 2018

В идеале, если вы нашли способ ограничить количество выбираемых элементов в <select multiple> [...] </select>, это решило бы проблему, поскольку select multiple показывает все варианты по умолчанию.

Однако я не смог найти способ сделать это онлайн, поэтому нам придется сделать это по-другому. Этот элемент имеет атрибут size, который представляет число option с, которое будет показано. Итак, если вы установите это количество элементов в вашем select, вам будут показаны все ваши элементы (просто не забудьте установить overflow: auto; в своем коде CSS, чтобы запретить показ полос прокрутки). Однако, если количество элементов не является фиксированным, вам придется изменить атрибут size с помощью JavaScript. Вот несколько примеров ниже.

var dynamic = document.getElementById('dynamic');

dynamic.setAttribute('size', dynamic.childElementCount)
.ns {
  overflow: auto;
}
<p>Normal selection:</p>
<select size="5">
  <option>Option 1</option>
  <option>Option 2</option>
  <option>Option 3</option>
  <option>Option 4</option>
  <option>Option 5</option>
<select>

<p>Selection without scrollbar:</p>
<select class="ns" size="5">
  <option>Option 1</option>
  <option>Option 2</option>
  <option>Option 3</option>
  <option>Option 4</option>
  <option>Option 5</option>
<select>

<p>Dynamic size selection:</p>
<select class="ns" id="dynamic">
  <option>Option 1</option>
  <option>Option 2</option>
  <option>Option 3</option>
  <option>Option 4</option>
  <option>Option 5</option>
  <option>Option 6</option>
  <option>Option 7</option>
  <option>Option 8</option>
<select>

Очевидно, что вы также можете добавить свои собственные стили к элементу select и опциям

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...