Запретить пользователю выбирать значение по умолчанию в раскрывающемся меню - PullRequest
3 голосов
/ 05 марта 2012

Я пытаюсь запретить пользователю выбирать опцию выпадающего меню по умолчанию.Есть ли способ добавить текст вместо значения в раскрывающемся меню?Мой код:

<select name='test'>
<option value='default' selected='selected'>Please select the value</option>
<option value='value1'>value1</option>
<option value='value2'>value2</option>
</select>

Я не хочу, чтобы пользователь выбирал опцию «Пожалуйста, выберите значение».Есть ли лучший способ сделать это?

Ответы [ 5 ]

3 голосов
/ 05 марта 2012

Вы можете сделать

<option value='' disabled='disabled' selected='selected'>Please select the value</option>

Я полагаю, вы используете какую-то проверку на стороне клиента, чтобы убедиться, что этот параметр также не выбран при отправке? Это будет означать, что они не смогут выбрать его после нажатия, но вам нужно будет его проверить.

Что-то вроде

<script LANGUAGE="JavaScript">
<!-- 
    function ValidateForm(form){ 
    ErrorText= ""; 
    if ( form.test.selectedIndex == 0 ) {
         alert ( "Please select a value" ); 
         return false; 
    } 
    if (ErrorText= "") { 
        form.submit()
    } 
} 
-->
</script>

Затем на кнопку отправки

<input type="button" name="SubmitButton" value="Submit" onClick="ValidateForm(this.form)"> 
3 голосов
/ 05 марта 2012

Код на стороне клиента (javascript / HTML) подходит для этого, но это только полдела.

Поскольку вы не хотите, чтобы пользователь фактически выбирал это "значение по умолчанию", я бы сделал следующее:

<option value=''>Please select the value</option>

Оставьте value как пустую строку. Затем в своем коде на стороне сервера проверьте, было ли введенное значение пустым или нет. Нет смысла заполнять произвольное значение по умолчанию, если вы не собираетесь его использовать.

По умолчанию первый <option> будет выбран в соответствии со стандартным поведением браузера, поэтому вам действительно не нужен атрибут selected. Вам нужно нужен value='', либо браузер может опубликовать текстовое содержимое <option>.

1 голос
/ 05 марта 2012

Вы можете использовать JavaScript, чтобы проверить выбранное значение, когда пользователь отправляет форму. Если значение = «по умолчанию», предупредить пользователя.

0 голосов
/ 13 июня 2017

При использовании Html Helper установите поле значения Select, которое является значением по умолчанию, пустым

 @Html.DropDownListFor(Model => Model.Value, new List<SelectListItem>() { new SelectListItem { Text = "Select", Value = "" }, new SelectListItem { Text = "Value1", Value = "Value1" }, new SelectListItem { Text = "Value2", Value = "Value2" } }, new { @required = "required"})
0 голосов
/ 05 марта 2012
    <select name='test'>
<option value='default' selected='selected' enabled='false'>Please select the value</option>
<option value='value1'>value1</option>
<option value='value2'>value2</option>
</select>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...