Вибір завантажувального списку заповнення заповнювача


104

Я намагаюся скласти випадаючий список, який містить заповнювач. Схоже, це не підтримує, placeholder="stuff"як це роблять інші форми. Чи є інший спосіб отримати заповнювач мій у спадному меню?

Відповіді:


225

Так, просто "вибрано вимкнено" в опції.

<select>
    <option value="" selected disabled>Please select</option>
    <option value="">A</option>
    <option value="">B</option>
    <option value="">C</option>
</select>

Посилання на загадку

Ви також можете переглянути відповідь за адресою

https://stackoverflow.com/a/5859221/1225125


4
Це не відповідає на запитання, оскільки він / вона просить вбудованого рішення для завантаження
Мехді

5
Також ви можете використовувати disabled selected hiddenабо лише hiddenвсі правильні. :)
MD Ashik

60

Використовувати приховані:

<select>
    <option hidden >Display but don't show in list</option>
    <option> text 1 </option>
    <option> text 2 </option>
    <option> text 3 </option>
</select>

продовжувати останній коментар, коли використовується v-model, потрібно використовувати це: <option: value = "null" вимкнено приховано> Select Age </option>
Гомер

16

випадаючий або виберіть не має заповнювача, оскільки HTML не підтримує його, але можливо створити такий самий ефект, щоб він виглядав так само, як і інші вставки

    $('select').change(function() {
     if ($(this).children('option:first-child').is(':selected')) {
       $(this).addClass('placeholder');
     } else {
      $(this).removeClass('placeholder');
     }
    });
.placeholder{color: grey;}
select option:first-child{color: grey; display: none;}
select option{color: #555;} // bootstrap default color
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select class="form-control placeholder">
   <option value="">Your Placeholder Text</option>
   <option value="1">Text 1</option>
   <option value="2">Text 2</option>
   <option value="3">Text 3</option>
</select>

якщо ви хочете побачити перший варіант у списку, видаліть властивість відображення з css


8
Ви написали тонну спеціального коду, додаючи клас "вибраний відключений" - це те саме.
Jordan.JD

2
На його честь, його трохи більш візуально завершено (з більшою кількістю коду), де заповнювач заповнення не відображається в списку вибору. Хоча я йду за способом мінімального коду речей.
Roadkillnz

8

Якщо ви ініціалізуєте поле вибору через javascript, для заміни тексту заповнення за замовчуванням може бути додано наступне

noneSelectedText: 'Insert Placeholder text'

приклад: якщо у вас є:

<select class='picker'></select>

у вашому javascript ви ініціалізуєте селектор, як цей

$('.picker').selectpicker({noneSelectedText: 'Insert Placeholder text'});  

6

Більшість варіантів є проблематичними для вибору кількох варіантів. Помістіть атрибут заголовка та зробіть перший параметр як data-hidden = "true"

<select class="selectpicker" title="Some placeholder text...">
    <option data-hidden="true"></option>
    <option>First</option>
    <option>Second</option>
</select>

5

Додати прихований атрибут:

<select>
    <option value="" selected disabled hidden>Please select</option>
    <option value="">A</option>
    <option value="">B</option>
    <option value="">C</option>
</select>

Як це відрізняється від відповіді Джей Лін і відповідь Brakke в ?
Афафуд

1
Це працювало найкраще для мене, тому що вибране значення, яке вибрано за замовчуванням, відключено, тому його не можна клацати та приховати від випадаючого. Я припускаю, що якщо використовується прихований, інваліду, ймовірно, не потрібно бути там.
aspergillusOryzae

4

Спробуйте це:

<select class="form-control" required>
<option value="" selected hidden>Select...</option>

при використанні required+ value=""тоді користувач не може вибрати його за допомогою hiddenзробить його прихованим зі списку параметрів, коли користувач відкриє вікно параметрів


Настійно рекомендується!
Аква 4


2

Все це варіанти .... імпровізації. Bootstrap вже пропонує рішення для цього. Якщо ви хочете змінити заповнювач для всіх елементів, що випадає, ви можете змінити значення

noneSelectedText у файлі завантаження.

Щоб змінити індивідуальність, ви можете використовувати параметр TITLE.

приклад:

<div class="form-group">
          <label class="control-label col-xs-2" id="country">Continent:</label>
          <div class="col-xs-9">
            <select name="zones[]" class="selectpicker" title="All continents" id="zones" multiple >
              <option value="Africa">Africa</option>
              <option value="Asia">Asia</option>
              <option value="North America">America North</option>
              <option value="South America">America South</option>
              <option value="Antarctica">Antarctica</option>
              <option value="Australia">Australia</option>
              <option value="Europe">Europe</option>
            </select>
          </div>
        </div>

Ви, пан, просто врятували мене. Усі перераховані вище варіанти не працювали для мультиселекції. Оскільки для вибору не було вибору попередніх значень. Назва працювала для мене
Фаран Хан

1
  1. у " bootstrap-select.jsЗнайти title: null, та видалити".
  2. додати title="YOUR TEXT"в <select>елемент.
  3. Чудово :)

Приклад:

<select title="Please Choose one item">
    <option value="">A</option>
    <option value="">B</option>
    <option value="">C</option>
</select>

1

Я думаю, що вікно, що випадає з класом та кодом JQuery для відключення першого варіанту для вибору користувача, буде чудово працювати як заповнювач Select Box .

<select class="selectboxclass">
   <option value="">- Please Select -</option>
   <option value="IN">India</option>
   <option value="US">America</option>
</select>

Зробіть перший варіант відключеним JQuery.

<script>
$('select.selectboxclass option:first').attr('disabled', true);
</script>

Це зробить перший варіант випадаючого списку як заповнювача, і користувач більше не зможе вибрати перший варіант.

Сподіваюся, це допомагає !!


0

Ось ще один спосіб зробити це

<select name="GROUPINGS[xxxxxx]" style="width: 60%;" required>
    <option value="">Choose Platform</option>
<option value="iOS">iOS</option>
    <option value="Android">Android</option>
    <option value="Windows">Windows</option>
</select>

"Вибрати платформу" стає заповнювачем, а властивість "обов'язкове" гарантує, що користувач повинен вибрати один із варіантів.

Дуже корисно, коли ви не хочете вводити імена полів користувача або мітки.


0

Використовуючи Bootstrap, це те, що ви можете зробити. Використовуючи клас "приховання тексту", параметр відключений буде показаний спочатку, але не в списку.

<select class="form-control" >
  <option selected disabled class="text-hide">Title</option>
  <option>A</option>
  <option>B</option>
  <option>C</option>
</select>

0

Вибір завантажувача має noneSelectedTextможливість. Ви можете встановити його за допомогою data-none-selected-textатрибута. Документація .


0

Для .htmlсторінки

<select>
    <option value="" selected disabled>Please select</option>
    <option value="">A</option>
    <option value="">B</option>
    <option value="">C</option>
</select>

для .jspбудь-якої іншої сторінки сервлетів.

<select>
    <option value="" selected="true" disabled="true">Please select</option>
    <option value="">A</option>
    <option value="">B</option>
    <option value="">C</option>
</select>

0

Використовуючи завантажувальний інструмент, якщо вам також потрібно додати деякі значення до параметра, який потрібно використовувати для фільтрів або інших матеріалів, ви можете просто додати клас "bs-title-option" до параметра, який ви хочете використовувати як заповнювач:

<select class="form-group">
   <option class="bs-title-option" value="myVal">My PlaceHolder</option>
   <option>A</option>
   <option>B</option>
   <option>c</option>
</select>

Bootstrap додає цей клас до titleатрибуту.


0

Рішення для кутових 2

Створіть мітку поверх вибору

<label class="hidden-label" for="IsActive"
    *ngIf="filterIsActive == undefined">Placeholder text</label>
<select class="form-control form-control-sm" type="text" name="filterIsActive"
    [(ngModel)]="filterIsActive" id="IsActive">
    <option value="true">true</option>
    <option value="false">false</option>
</select>

і застосуйте CSS, щоб розмістити його зверху

.hidden-label {
    position: absolute;
    margin-top: .34rem;
    margin-left: .56rem;
    font-style: italic;
    pointer-events: none;
}

pointer-events: none дозволяє відображати вибраний при натисканні на етикетку, який приховано при виборі опції.


0
<option value="" defaultValue disabled> Something </option>

ви можете замінити defaultValueз , selectedале це дасть попередження.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.