2013-08-12 3 views
27

Как бы я мог настроить заголовок в теге select? Вот мой выбор:Как добавить заголовок в тег select html

<select> 
    <option value="sydney">Sydney</option> 
    <option value="melbourne">Melbourne</option> 
    <option value="cromwell">Cromwell</option> 
    <option value="queenstown">Queenstown</option> 
</select> 

Когда я посещаю сайт, по умолчанию он показывает «Сидней». Но я хочу показать название, например: «Как зовут ваш город?»

+0

у меня путаница. Вы хотите автоматически выбрать свой город? – Prasannjit

ответ

89
<select> 
    <option selected disabled>Choose one</option> 
    <option value="sydney">Sydney</option> 
    <option value="melbourne">Melbourne</option> 
    <option value="cromwell">Cromwell</option> 
    <option value="queenstown">Queenstown</option> 
</select> 

Использования selected и disabled сделает «Выберите один» значение по умолчанию выбрано, но и сделать его невозможным для пользователя фактически выбрать элемент, например, так:

Dropdown menu

+3

Невозможно отправить пользовательский ввод (или изменить поле на стороне клиента). – BLaZuRE

+25

Да, конечно, пользователи могут делать все, что захотят, и представлять совершенно несвязанные ценности, но давайте не будем превращать это в дискуссию о санитарии данных. Все, что я говорю, это то, что пользователь не может выбрать «Выбрать один».Это функция юзабилити, а не функция безопасности. – kba

2

Вы можете добавить option тег поверх остальных без значения и строки, как это:

<select> 
     <option value="">Choose One</option> 
     <option value ="sydney">Sydney</option> 
     <option value ="melbourne">Melbourne</option> 
     <option value ="cromwell">Cromwell</option> 
     <option value ="queenstown">Queenstown</option> 
</select> 

Или оставить это поле пустым, вместо того, чтобы говорить Выберите один, если вы хотите.

+0

Я думал, что ваш ответ был правильным * без * атрибута 'value'. Зачем добавлять его? – BLaZuRE

+0

@BLaZuRE У меня создалось впечатление, что для тегов параметров требуется значение. Я забыл положить его в первоначально. Можете ли вы это оставить? – MitulP91

+1

Когда значение не указано, некоторые браузеры (которые, возможно, не заслуживают названия «браузер», но это еще одна дискуссия;)) используйте название («Выбрать один») в качестве значения. Поэтому лучше добавить явно значение = "". –

0

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

<select> 
     <option value ="">What is the name of your city?</option> 
     <option value ="sydney">Sydney</option> 
     <option value ="melbourne">Melbourne</option> 
     <option value ="cromwell">Cromwell</option> 
     <option value ="queenstown">Queenstown</option> 
    </select> 
+0

Насколько я помню, это не так. Firefox использовался для «запоминания» последней выбранной позиции в выпадающем меню, поэтому imho вы не должны полагаться на первый вариант, который всегда выбирается по умолчанию. –

0

С опцией по умолчанию отобрав атрибуту

<select> 
     <option value="" selected>Choose your city</option> 
     <option value ="sydney">Sydney</option> 
     <option value ="melbourne">Melbourne</option> 
     <option value ="cromwell">Cromwell</option> 
     <option value ="queenstown">Queenstown</option> 
</select> 
-2
<select name="city"> 
    <option value ="0">What is your city</option> 
    <option value ="1">Sydney</option> 
    <option value ="2">Melbourne</option> 
    <option value ="3">Cromwell</option> 
    <option value ="4">Queenstown</option> 
</select> 

Вы можете использовать уникальный идентификатор для значения вместо

4

Вы можете использовать следующие

<select data-hai="whatup"> 
     <option label="Select your city">Select your city</option> 
     <option value="sydney">Sydney</option> 
     <option value="melbourne">Melbourne</option> 
     <option value="cromwell">Cromwell</option> 
     <option value="queenstown">Queenstown</option> 
</select> 
27
<select> 
    <optgroup label = "Choose One"> 
    <option value ="sydney">Sydney</option> 
    <option value ="melbourne">Melbourne</option> 
    <option value ="cromwell">Cromwell</option> 
    <option value ="queenstown">Queenstown</option> 
    </optgroup> 
</select> 
+0

Вы не можете полагаться на браузер, отображающий метку optgroup в поле выбора изначально, чего хочет OP. – osullic

8

Вы можете объединить его с выбранными и скрытыми

<select class="dropdown" style="width: 150px; height: 26px"> 
     <option selected hidden>What is your name?</option> 
     <option value="michel">Michel</option> 
     <option value="thiago">Thiago</option> 
     <option value="Jonson">Jonson</option> 
</select> 

Ваш выпадающий заголовок будет выбран и не может быть выбран пользователем.

2

Я думаю, что это помогло бы:

<select name="select_1"> 
    <optgroup label="First optgroup category"> 
     <option selected="selected" value="0">Select element</option> 
     <option value="2">Option 1</option> 
     <option value="3">Option 2</option> 
     <option value="4">Option 3</option> 
    </optgroup> 
    <optgroup label="Second optgroup category"> 
     <option value="5">Option 4</option> 
     <option value="6">Option 5</option> 
     <option value="7">Option 6</option> 
    </optgroup> 
</select> 
1
<option value="" selected style="display:none">Please select one item</option> 

Использование selected и использование display: none; для скрытого элемента в списке.

Смежные вопросы