опция выбора по умолчанию как пустая - PullRequest
383 голосов
/ 22 декабря 2011

У меня очень странное требование, в соответствии с которым я не должен выбирать опцию по умолчанию в выпадающем меню в HTML. Тем не менее,

Я не могу использовать это,

<select>
  <option></option>
  <option>Option 1</option>
  <option>Option 2</option>
  <option>Option 3</option>
</select>

Потому что для этого мне придется выполнить проверку для обработки первого варианта. Может ли кто-нибудь помочь мне в достижении этой цели, не включив первый вариант в тег select?

Ответы [ 15 ]

0 голосов
/ 20 октября 2018

Я понимаю, что вы пытаетесь сделать. Лучший и самый успешный способ:

<select name='department' required>
   <option value="">None</option>
   <option value="Teaching">Teaching department</option>
   <option value="nonTeaching">Non-teaching department</option> 
</select>
0 голосов
/ 16 мая 2018

Попробуйте:

<h2>Favorite color</h2>
<select name="color">
<option value=""></option>
<option>Pink</option>
<option>Red</option>
<option>Blue</option>
</select>

Первый параметр в раскрывающемся списке будет пустым.

0 голосов
/ 23 апреля 2018

Я использую фреймворк Laravel 5, и ответ @Gambi помог мне, но с некоторыми изменениями для моего проекта.

У меня есть значения опций в таблице базы данных, и я использую их с оператором foreach. Но перед заявлением я добавил опцию с предложенными настройками @Gambit, и она заработала.

Вот мой пример:

@isset($keys)
  <select>
    <option  disabled selected value></option>
    @foreach($keys as $key)
      <option>{{$key->value)</option>
    @endforeach
  </select>
@endisset 

Надеюсь, это кому-то тоже поможет. Продолжайте в том же духе!

0 голосов
/ 01 октября 2015

Попробуйте это:

<select>
    <option value="">&nbsp;
    <option>Option 1
    <option>Option 2
    <option>Option 3
</select>

Подтверждает в HTML5. Работает с атрибутом required в элементе select. Может быть переизбран. Работает в Google Chrome 45, Internet Explorer 11, Edge, Firefox 41.

0 голосов
/ 22 декабря 2011

Нет HTML-решения.Согласно спецификации HTML 4.01, поведение браузера не определено, если ни один из элементов option не имеет атрибута selected, и на практике браузеры делают то, что они выбирают первый параметр предварительно.Обходной путь, вы можете заменить элемент select набором элементов input type=radio (с тем же атрибутом name).Это создает элемент управления одного типа, но с другим внешним видом и пользовательским интерфейсом.Если ни один из элементов input type=radio не имеет атрибута checked, ни один из них изначально не выбран в большинстве современных браузеров.

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