Как установить значение по умолчанию для элемента HTML <select>? - PullRequest
1256 голосов
/ 19 августа 2010

Я думал, что добавление атрибута "value", установленного для элемента <select> ниже, приведет к тому, что <option>, содержащий мои предоставленные "value", будут выбраны по умолчанию:

<select name="hall" id="hall" value="3">
  <option>1</option>
  <option>2</option>
  <option>3</option>
  <option>4</option>
  <option>5</option>
</select>

Однако это не сработало, как я ожидал. Как установить, какой элемент <option> выбран по умолчанию?

Ответы [ 22 ]

1 голос
/ 07 июля 2018

Проблема с <select> заключается в том, что иногда он не связан с состоянием того, что отображается в данный момент, и, если что-то не изменилось в списке параметров, значение изменения не возвращается.Это может быть проблемой при попытке выбрать первый вариант из списка.Следующий код может получить первый параметр, выбранный в первый раз, но onchange="changeFontSize(this)" сам по себе не сможет.Существуют методы, описанные выше, использующие фиктивную опцию, чтобы заставить пользователя внести измененное значение, чтобы получить фактическое первое значение, например, начать список с пустого значения.Примечание: onclick будет вызывать функцию дважды, следующий код - нет, но решает проблему, возникающую в первый раз.

<label>Font Size</label>
<select name="fontSize" id="fontSize" onfocus="changeFontSize(this)" onchange="changeFontSize(this)">           
    <option value="small">Small</option>
    <option value="medium">Medium</option>
    <option value="large">Large</option>
    <option value="extraLarge">Extra large</option>
</select>

<script>
function changeFontSize(x){
    body=document.getElementById('body');
    if (x.value=="extraLarge") {
        body.style.fontSize="25px";
    } else {
        body.style.fontSize=x.value;
    }
}
</script>
0 голосов
/ 20 октября 2013

Вот как я это сделал ...

<form action="../<SamePage>/" method="post">

<?php
    if ( $_POST['drop_down'] == "")
    {
    $selected = "";
    }
    else
    {
    $selected = "selected";
    }
?>

<select name="select" size="1">

  <option value="1" <?php $selected ?>>One</option>
     ////////  OR  ////////
  <option value="2" $selected>Two</option>

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