Содержание

— HTML | MDN

HTML тэг <select> представляет собой элемент управления который содержит меню опций:

Элемент включает глобальные атрибуты.

autofocus HTML5
Этот атрибут указывает что при загрузке страницы данный элемент формы должен иметь фокус ввода, пока пользователь не переопределит это, к примеру печатая в разных элементах управления. Только один элемент формы может иметь атрибут autofocus, элемент является логическим (булевым).
disabled
Этот логический атрибут указывает что пользователь не может взаимодействовать с элементом управления. Если атрибут не указан, элемент управления наследует настройки от содержащего его элемента, к примеру fieldset; если у родительского элемента не указан атрибут disabled, то элемент управления доступен для взаимодействия.
form HTML5
Этот атрибут указывает к какой конкретно форме относится элемент <select> . Если атрибут указан, его значением должно быть ID формы в том же документе. Это позволяет размещать элементы <select> где угодно в документе, а не только как потомки форм.
multiple
Этот логический атрибут указывает что возможен выбор нескольких опций в списке. Если данный атрибут не указан, то только одна опция может быть выбрана.
name
Этот атрибут используется для указания имени элемента управления.
required HTML5
Этот логический атрибут указывает что обязательно должна быть выбрана опция и которая содержит не пустую строку.
size
Если элемент управления представлен как прокручиваемый список, этот атрибут указывает количество строк в списке, которые должны быть видны за раз. Браузеру не требуется представлять <select> в  виде прокручиваемого списка. Значение по умолчанию 0.

Примечания Firefox: Согласно спецификации HTML5, значение размера по умолчанию должно быть 1; однако на практике, оказывается что это портит некоторые веб сайты, и ни один браузер не придерживается этого на данный момент, поэтому Mozilla предпочла также указать 0 пока что в Firefox.


<select name="select"> 
  <option value="value1">Значение 1</option>
  <option value="value2" selected>Значение 2</option>
  <option value="value3">Значение 3</option>
</select>

Результат

Примечания

BCD tables only load in the browser

  • Другие элементы форм: <form>, <legend>, <label>, <button>, <option>, <datalist>, <optgroup>
    , <fieldset>, <textarea> (en-US), <keygen> (en-US), <input>, <output>, <progress> and <meter>.
  • События запускаемые <select>: change.

Атрибут value | htmlbook.ru

Internet ExplorerChromeOperaSafariFirefoxAndroidiOS
4. 0+1.0+4.0+1.0+1.0+1.0+1.0+

Спецификация

HTML:3.24.015.0XHTML:1.01.1

Описание

Определяет значение пункта списка, которое будет отправлено на сервер. На сервер отправляется пара «имя=значение», где имя задается атрибутом name тега <select>, а значение — атрибутом value выделенных пунктов списка. Значение может как совпадать с текстом пункта, так быть и самостоятельным. Также атрибут value применяется для получения значений данных через скрипты.

Синтаксис

<option value="значение">...</option>

Значения

Любая текстовая строка заключенная в двойные или одинарные кавычки.

Значение по умолчанию

Нет.

Пример

HTML5IECrOpSaFx

<!DOCTYPE HTML>
<html>
 <head>
  <meta charset="utf-8">
  <title>Тег OPTION, атрибут value</title>
  <script>
    function dataSelect(f) {
     n = f. hero.selectedIndex
     if(n) alert("Выбран герой: " + f.hero.options[n].value)
    }
  </script>
 </head>
 <body>

  <form action="option1.php">
   <p><select name="hero">
   <option>Выберите героя</option>
   <option value="Чебурашка">Чебурашка</option>
   <option value="Крокодил Гена">Крокодил Гена</option>
   <option value="Шапокляк">Шапокляк</option>
   <option value="Крыса Лариса">Крыса Лариса</option>
   </select>
   <input type="button" value="OK"></p>
  </form> 

 </body>
</html>

Не выкладывайте свой код напрямую в комментариях, он отображается некорректно. Воспользуйтесь сервисом cssdeck.com или jsfiddle.net, сохраните код и в комментариях дайте на него ссылку. Так и результат сразу увидят.

Атрибут value тега | HTML справочник

HTML тег <option>

Значение и применение

Атрибут value (HTML тега <option>) указывает значение, которое будет отправлено на сервер при отправке формы.

Если значение атрибута не указано, то в качестве значения будет выступать содержимое элемента <option>.

Поддержка браузерами

Синтаксис:

<option value>

Отличия HTML 4.01 от HTML 5

Нет.

Пример использования

<!DOCTYPE html>
<html>
<head>
<title>Пример использования атрибута value HTML тега <option></title>
</head>
<body>
	<form action = "#"> <!--Адрес передачи данных при отправке формы (относительный, либо абсолютный URL)-->
		<select> 
			<option value = "A">Option A</option>
			<option value = "B">Option B</option>
			<option value = "C">Option C</option>
		</select>
		<input type = "submit" value = "отправить">
	</form>
</body>
</html>

В браузере это выглядит следующим образом:

Пример использования атрибута value HTML тега <option> (значение, которое будет отправлено на сервер, когда форма отправляется).

Давайте рассмотрим пример в котором используются раскрывающийся список (<select>) и список предопределенных вариантов для ввода (<datalist>).

Элементом списков выступает тег <option>. Если в списках используется атрибут label, то текст надписи, которая указывает значение параметра берется из него. Если значение атрибута label не указано, то этим значением выступает содержимое элемента <option>, при этом необходимо использовать закрывающий элемент </option>.

Обращаю Ваше внимание, что если в списке предопределённых вариантов (<datalist>) используется атрибут value, то поиск осуществляется по нему, если атрибут отсутствует, то по содержимому элемента, при этом необходимо использовать закрывающий элемент </option>.

<!DOCTYPE html>
<html>
<head>
<title>Пример использования атрибута label HTML тега <option></title>
</head>
<body>
	<form action = "#"> <!--Адрес передачи данных при отправке формы (относительный, либо абсолютный URL)-->
		<fieldset> <!--Группируем элементы формы-->
			<legend>Составление маршрута</legend> <!--Заголовок для элемента <fieldset> -->
			Город отправления:
			<select> <!--Раскрывающийся список-->
				<option  label = "Владивосток">
				<option  label = "Анапа">
				<option  label = "Москва">
				<option  label = "Смоленск">
				<option  label = "Якутск">
			</select>
				<p>Аэропорт назначения:
					<input type = "text" list = "airports"> 
				</p>
			<datalist id = "airports"> <!--Список предопределенных вариантов для ввода-->
				 <option value = "VVO" label = "Владивосток">
				 <option value = "MEM" label = "Анапа">
				 <option value = "VKO" label = "Москва Внуково">
				 <option value = "LNX" label = "Смоленск">
				 <option value = "YKS" label = "Якутск">
			</datalist>	
			<input type = "submit" value = "подтвердить">
			</fieldset>
	</form>
</body>
</html>

В браузере это выглядит следующим образом:

Пример использования атрибута label HTML тега <option> (текст надписи, которая указывает значение параметра). HTML тег <option>

Формы – React

В React HTML-элементы формы ведут себя несколько отлично от остальных DOM-элементов, так как у элементов формы изначально есть внутреннее состояние. К примеру, в эту HTML-форму можно ввести имя:

<form>
  <label>
    Имя:
    <input type="text" name="name" />
  </label>
  <input type="submit" value="Отправить" />
</form>

По умолчанию браузер переходит на другую страницу при отправке HTML-форм, в том числе и этой. Если вас это устраивает, то не надо ничего менять, в React формы работают как обычно. Однако, чаще всего форму удобнее обрабатывать с помощью JavaScript-функции, у которой есть доступ к введённым данным. Стандартный способ реализации такого поведения называется «управляемые компоненты».

Управляемые компоненты

В HTML элементы формы, такие как <input>, <textarea> и <select>, обычно сами управляют своим состоянием и обновляют его когда пользователь вводит данные. В React мутабельное состояние обычно содержится в свойстве компонентов state и обновляется только через вызов setState()

Мы можем скомбинировать оба подхода и сделать состояние React-компонента «единственным источником правды». Тогда React-компонент будет рендерить форму и контролировать её поведение в ответ на пользовательский ввод. Значение элемента формы input в этом случае будет контролировать React, а сам элемент будет называться «управляемый компонент».

Допустим, мы хотим, чтобы предыдущий пример выводил на экран имя, когда мы отправляем форму. Тогда можно написать форму в виде управляемого компонента:

class NameForm extends React.Component {
  constructor(props) {
    super(props);
    this.state = {value: ''};
    this.handleChange = this.handleChange.bind(this);
    this.handleSubmit = this.handleSubmit.bind(this);
  }

  handleChange(event) {    this.setState({value: event.target.value});  }
  handleSubmit(event) {
    alert('Отправленное имя: ' + this. state.value);
    event.preventDefault();
  }

  render() {
    return (
      <form onSubmit={this.handleSubmit}>        <label>
          Имя:
          <input type="text" value={this.state.value} onChange={this.handleChange} />        </label>
        <input type="submit" value="Отправить" />
      </form>
    );
  }
}

Посмотреть на CodePen

Мы установили атрибут value для поля ввода, и теперь в нём всегда будет отображаться значение this.state.value. Состояние React-компонента стало «источником истины». А так как каждое нажатие клавиши вызывает handleChange, который обновляет состояние React-компонента, значение в поле будет обновляться по мере того, как пользователь печатает.

В управляемом компоненте значение поля ввода всегда определяется состоянием React. Хотя это означает, что вы должны написать немного больше кода, теперь вы сможете передать значение и другим UI-элементам или сбросить его с других обработчиков событий.

Тег textarea

HTML-элемент <textarea> в качестве текста отображает дочерний элемент:

<textarea>
  Привет! Тут просто немного текста внутри тега textarea
</textarea>

В React <textarea> использует атрибут value. Таким образом, форму с <textarea> можно написать почти тем же способом, что и форму с однострочным <input>:

class EssayForm extends React.Component {
  constructor(props) {
    super(props);
    this.state = {      value: 'Будьте любезны, напишите сочинение о вашем любимом DOM-элементе.'    };
    this.handleChange = this.handleChange.bind(this);
    this.handleSubmit = this.handleSubmit.bind(this);
  }

  handleChange(event) {    this.setState({value: event.target.value});  }
  handleSubmit(event) {
    alert('Сочинение отправлено: ' + this.state.value);
    event.preventDefault();
  }

  render() {
    return (
      <form onSubmit={this. handleSubmit}>
        <label>
          Сочинение:
          <textarea value={this.state.value} onChange={this.handleChange} />        </label>
        <input type="submit" value="Отправить" />
      </form>
    );
  }
}

Обратите внимание, что мы инициализировали this.state.value в конструкторе, так что в текстовой области изначально есть текст.

Тег select

В HTML <select> создаёт выпадающий список. HTML-код в этом примере создаёт выпадающий список вкусов:

<select>
  <option value="grapefruit">Грейпфрут</option>
  <option value="lime">Лайм</option>
  <option selected value="coconut">Кокос</option>
  <option value="mango">Манго</option>
</select>

Пункт списка «Кокос» выбран по умолчанию из-за установленного атрибута selected. React вместо этого атрибута использует value в корневом теге select. В управляемом компоненте так удобнее, потому что обновлять значение нужно только в одном месте (state). Пример:

class FlavorForm extends React.Component {
  constructor(props) {
    super(props);
    this.state = {value: 'coconut'};
    this.handleChange = this.handleChange.bind(this);
    this.handleSubmit = this.handleSubmit.bind(this);
  }

  handleChange(event) {    this.setState({value: event.target.value});  }
  handleSubmit(event) {
    alert('Ваш любимый вкус: ' + this.state.value);
    event.preventDefault();
  }

  render() {
    return (
      <form onSubmit={this.handleSubmit}>
        <label>
          Выберите ваш любимый вкус:
          <select value={this.state.value} onChange={this.handleChange}>            <option value="grapefruit">Грейпфрут</option>
            <option value="lime">Лайм</option>
            <option value="coconut">Кокос</option>
            <option value="mango">Манго</option>
          </select>
        </label>
        <input type="submit" value="Отправить" />
      </form>
    );
  }
}

Посмотреть на CodePen

Подводя итог, <input type="text">, <textarea>, и <select> работают очень похоже. Все они принимают атрибут value, который можно использовать, чтобы реализовать управляемый компонент.

Примечание

В атрибут value можно передать массив, что позволит выбрать несколько опций в теге select:

<select multiple={true} value={['Б', 'В']}>

Загрузка файла

В HTML <input type="file"> позволяет пользователю выбрать один или несколько файлов для загрузки с устройства на сервер или управлять им через JavaScript с помощью File API.

Так как значение такого элемента доступно только для чтения, это неуправляемый React-компонент. Мы расскажем про этот и другие неуправляемые компоненты далее в документации.

Обработка нескольких элементов input

Если вам нужны несколько управляемых элементов input, вы можете назначить каждому из них атрибут name, что позволит функции-обработчику решать, что делать, основываясь на значении event. target.name.

Пример:

class Reservation extends React.Component {
  constructor(props) {
    super(props);
    this.state = {
      isGoing: true,
      numberOfGuests: 2
    };

    this.handleInputChange = this.handleInputChange.bind(this);
  }

  handleInputChange(event) {
    const target = event.target;
    const value = target.type === 'checkbox' ? target.checked : target.value;
    const name = target.name;
    this.setState({
      [name]: value    });
  }

  render() {
    return (
      <form>
        <label>
          Пойдут:
          <input
            name="isGoing"            type="checkbox"
            checked={this.state.isGoing}
            onChange={this.handleInputChange} />
        </label>
        <br />
        <label>
          Количество гостей:
          <input
            name="numberOfGuests"            type="number"
            value={this.state.numberOfGuests}
            onChange={this.handleInputChange} />
        </label>
      </form>
    );
  }
}

Посмотреть на CodePen

Обратите внимание, что мы используем вычисляемые имена свойств, чтобы обновить значение в state через ключ, который соответствует атрибуту name элемента input:

this. setState({
  [name]: value});

Идентичный ES5-код:

var partialState = {};
partialState[name] = value;this.setState(partialState);

Кроме того, setState() автоматически производит слияние части состояния с текущим состоянием, то есть нам нужно передать в него только ту часть state, которую хотим изменить.

Значение null управляемого компонента

Если установить управляемому компоненту проп value, то пользователь не сможет изменить его значение без вашего желания. Если вы установили value, а поле ввода по-прежнему можно редактировать, то, возможно, вы случайно задали value, равный undefined или null.

Код ниже это демонстрирует. (Изначально заблокированный input становится редактируемым после небольшой задержки.)

ReactDOM.render(<input value="Привет" />, mountNode);

setTimeout(function() {
  ReactDOM. render(<input value={null} />, mountNode);
}, 1000);

Альтернативы управляемым компонентам

Использование управляемых компонентов иногда может быть утомительным. Приходится писать обработчик события для каждого варианта изменения ваших данных и проводить всё состояние формы через компонент React. Это может особенно раздражать, если вы переносите существующую кодовую базу в React, или когда работаете над интеграцией React-приложения с другой библиотекой. В такой ситуации могут пригодиться неуправляемые компоненты — альтернативная техника реализации ввода данных в форму.

Полноценные решения

Если вы ищете полноценное решение, которое может валидировать ввод, запомнить посещённые поля формы и обработать её отправку, присмотритесь к Formik. Эта библиотека построена на принципах управляемых компонентов и управления состоянием, так что не пренебрегайте их изучением.

HTML и CSS с примерами кода

Тег <option> (от англ. option — пункт, параметр, опция) определяет отдельные пункты списка, создаваемого с помощью контейнера <select>.

Ширина списка определяется самым широким текстом, указанным в <option>, а также может изменяться с помощью стилей. Если планируется отправлять данные списка на сервер, то требуется поместить элемент <select> внутрь формы. Это также необходимо, когда к данным списка идёт обращение через скрипты.

Формы

Синтаксис

<select>
  <option>Пункт 1</option>
  <option>Пункт 2</option>
</select>

Закрывающий тег не обязателен.

Атрибуты

disabled
Заблокировать для доступа элемент списка.
label
Указание метки пункта списка.
selected
Заранее устанавливает определённый пункт списка выделенным.
value
Значение пункта списка, которое будет отправлено на сервер или прочитано с помощью скриптов.

Также для этого элемента доступны универсальные атрибуты.

disabled

Блокирует элемент списка для его выбора.

Синтаксис

<option disabled>...</option>

Значения

Нет.

Значение по умолчанию

По умолчанию этот атрибут выключен.

label

Атрибут предназначен для указания метки пункта списка, сокращённой по сравнению с текстом внутри <option>. Если атрибут label присутствует, то текст внутри <option> игнорируется и в списке выводится значение label.

Синтаксис

<option label="<текст>">...</option>

Значения

Любая текстовая строка.

Значение по умолчанию

Нет.

selected

Делает текущий пункт списка выделенным. Если к элементу <select> добавлен атрибут multiple, то можно выделять более одного пункта списка.

Синтаксис

<option selected>...</option>

Значения

Нет.

Значение по умолчанию

По умолчанию этот атрибут выключен.

value

Определяет значение пункта списка, которое будет отправлено на сервер. На сервер отправляется пара «имя=значение», где имя задаётся атрибутом name элемента <select>, а значение — атрибутом value выделенных пунктов списка. Значение может как совпадать с текстом пункта, так быть и самостоятельным. Также атрибут value применяется для получения значений данных через скрипты.

Синтаксис

<option value="<текст>">...</option>

Значения

Любая текстовая строка.

Значение по умолчанию

Нет.

Спецификации

Описание и примеры

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <title>OPTION</title>
  </head>
  <body>
    <form action="option2. php">
      <p>
        <select size="3" name="hero">
          <option disabled>Выберите рыцаря</option>
          <option value="t1" selected>Гавейн</option>
          <option value="t2">Ланселот</option>
          <option value="t3">Галахэд</option>
          <option value="t4">Персиваль</option>
        </select>
      </p>
      <p><input type="submit" value="Отправить" /></p>
    </form>
  </body>
</html>

Ссылки

HTML тег

HTML тег <select> используется для определения выпадающего списка, который появляется при нажатии мышью на элемент формы и позволяет пользователю выбрать один из вариантов.

Для определения доступных вариантов выбора используется тег <option>, вложенный в тег <select>.

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

Для объединения нескольких вариантов в одну группу используется тег <optgroup>. Содержимое тега <optgroup> выглядит как заголовок жирного начертания.

Внешний вид списка зависит от использования атрибута size, который устанавливает высоту списка. Ширина списка зависит от длины текста в теге <option>. Ширину можно также задать с помощью CSS стилей.

Если необходимо отправлять данные на сервер, либо обращаться к списку через скрипты, то тег необходимо поместить внутрь формы (тег <form>).

Синтаксис¶

Содержимое элемента заключается между открывающим (<select>) и закрывающим (</select>) тегами. Закрывающий тег обязателен

Пример¶

<!DOCTYPE html>
<html>
  <head>
    <title>Заголовок окна веб-страницы</title>
  </head>
  <body>
    <form action="action_form.php" target="_top">
      <select>
        <option value="books">Книги</option>
        <option value="html">HTML</option>
        <option value="css">CSS</option>
        <option value="php">PHP</option>
        <option value="js">JavaScript</option>
      </select>
    </form>
  </body>
</html>
Попробуйте сами!

Результат¶

КнигиHTMLCSSPHPJavaScript

Пример¶

<!DOCTYPE html>
<html>
  <head>
    <title>Заголовок окна веб-страницы</title>
  </head>
  <body>
    <select>
      <optgroup label="Книги">
        <option value="html">HTML</option>
        <option value="css">CSS</option>
      </optgroup>
      <optgroup label="Сниппеты">
        <option value="git">Git</option>
        <option value="java">Java</option>
      </optgroup>
    </select>
  </body>
</html>
Попробуйте сами!

В этом примере мы использовали тег <optgroup> для сбора опций в группе.

Результат¶

Пример¶

<!DOCTYPE html>
<html>
  <head>
    <title>Заголовок окна веб-страницы</title>
  </head>
  <body>
    <p>Аэропорт вылета:</p>
    <form action="action_form.php" target="_top">
      <input type = "text" list = "airports" name="airports"> 
      <datalist id = "airports">
        <option value = "Санкт-Петербург">
        <option value = "Краснодар">
        <option value = "Москва">
        <option value = "Новосибирск">
      </datalist>
      <input type = "submit" value = "подтвердить">
    </form>
  </body>
</html>
Попробуйте сами!

Результат¶

В этом примере мы использовали тег <form>, так как нам необходимо отправить данные на сервер.

Атрибуты ¶

Тег <select> поддерживает также глобальные атрибуты и атрибуты событий.

Как добавить стиль к тегу <select> ?

Распространенные свойства для изменения визуальной насыщенности/выделения/размера текста внутри тега <select>:

Цвет текста внутри тега <select>:

Стили форматирования текста для тега <select>:

Другие свойства для тега <select>:

Тег select



Пример

Создайте раскрывающийся список с четырьмя параметрами:

<select>
  <option value=»volvo»>Volvo</option>
  <option value=»saab»>Saab</option>
  <option value=»mercedes»>Mercedes</option>
  <option value=»audi»>Audi</option>
</select>


Определение и использование

Элемент <select> используется для создания раскрывающегося списка.

Теги <option> внутри элемента <select> определяют доступные параметры в списке.


Поддержка браузера

Элемент
<select>ДаДаДаДаДа

Советы и примечания

Совет: Элемент <select> является элементом управления Form и может использоваться в форме для сбора пользовательских данных.


Различия между HTML 4,01 и HTML5

HTML5 добавил некоторые новые атрибуты.



Атрибуты

= Новый в HTML5.

АтрибутЗначениеОписание
autofocusautofocusУказывает, что раскрывающийся список должен автоматически получать фокус при загрузке страницы
disableddisabledУказывает, что раскрывающийся список должен быть отключен
formform_idОпределяет одну или несколько форм, к которым принадлежит поле Select
multiplemultipleУказывает, что несколько параметров могут быть выбраны одновременно
namenameОпределяет имя для раскрывающегося списка
requiredrequiredУказывает, что пользователь должен выбрать значение перед отправкой формы
sizenumberОпределяет количество видимых параметров в раскрывающемся списке

Глобальные атрибуты

Тег <select> также поддерживает Глобальные атрибуты в HTML.


Атрибуты события

Тег <select> также поддерживает Атрибуты событий в HTML.


Похожие страницы

HTML DOM Ссылки: Select Object

CSS учебник: Styling Forms


Параметры CSS по умолчанию

Нет.


HTML Выбрать тег | Синтаксис тега, примеры, атрибуты

HTML-тег .

По умолчанию выбран первый вариант из списка. Чтобы изменить предопределенный параметр, используется выбранный атрибут.

Тег используется для объединения нескольких параметров в одну группу. Содержимое выглядит как заголовок, выделенный жирным шрифтом.

Внешний вид списка зависит от атрибута размера, который определяет высоту списка. Ширина списка зависит от длины текста внутри

Тег сложна, и ее сложно контролировать. Для получения полного контроля вам может понадобиться библиотека с улучшенными виджетами форм или выпадающее меню с несемантическими элементами.

Если вам нужно отправить данные на сервер или обратиться к списку со скриптами, тег состоит из пар. Контент записывается между открывающим () тегами.

Пример HTML-тега

Попробуйте сами »Результат

BooksHTMLCSSPHPJavaScript

Пример HTML-тега

Попробуйте сами »

В этом примере тег используется для объединения параметров в группы.

Результат¶


HTMLCSSGitJava

Пример HTML-тега

Попробуйте сами »

В этом примере используется тег

, потому что нам нужно отправить информацию на сервер.

Результат¶

Аэропорт вылета:


Атрибуты¶

Тег ?

Общие свойства для изменения визуального веса / акцента / размера текста в теге

:
  • Свойство цвета CSS описывает цвет текстового содержимого и оформления текста.
  • Свойство CSS background-color устанавливает цвет фона элемента.

Стили макета текста для тега

:

select | Cypress Documentation

Выберите внутри

 
cy.get ('select'). select ('яблоки'). should ('have.value', '456')
  

Значение

Выберите вариант
со значением «456»
  <выбрать>
  
  
  

  
 
cy. get ('select'). select ('456'). should ('have.value', '456')
  

Выбрать несколько вариантов

Выберите варианты с текстом «яблоки» и «бананы»
  <выбрать несколько>
  
  
  

  
  гг.получить ('выбрать')
  .select (['яблоки', 'бананы'])
  .invoke ('val')
  .should ('deep.equal', ['456', '458']).
  
Выберите параметры со значениями «456» и «457»
  <выбрать несколько>
  
  
  

  
  cy.get ('выбрать')
  .select (['456', '457'])
  .invoke ('val')
  .should ('deep.equal', ['456', '457'])
  

Принудительный выбор

Принудительное выделение скрытого
  гг. получить ('выбрать')
  .select ('банан', {сила: истина})
  .invoke ('val')
  .should ('экв', 'банан')
  
Принудительно выбрать отключенный
<выбрать>

Передача {force: true} в .select () отменяет проверки возможности действий для выбора отключенного

  cy.get ('выбрать')
  .select ('окра', {сила: истина})
  .invoke ('val')
  .should ('экв', 'окра')
  

Выбранный вариант

Вы можете получить текущий выбранный вариант, используя селектор jQuery

.
  <выбрать>
  
  
  

  
  cy.get ('select # name option: selected'). Should ('have.text', 'Питер')
  

Банкноты

Активность

.select () — это команда действия, которая следует правилам, определенным здесь.

Однако передача {force: true} в .select () не отменяет проверки возможности действий для выбора отключенного или параметра в отключенном .См. Этот выпуск для более подробной информации.

Правила

Требования

  • .select () требует привязки к команде, которая дает элемент (ы) DOM.
  • .select () требует, чтобы элемент был выбрать .

Утверждения

  • .select () будет автоматически ждать, пока элемент достигнет состояние действия
  • . select () будет автоматически повторить попытку пока все связанные утверждения не пройдут

Таймауты

  • .выберите () может истечь время ожидания, пока элемент достигнет состояние действия .
  • .select () может время ожидания для утверждений, которые вы добавили, истекло.

Журнал команд

Выберите вариант с текстом «Гомер Симпсон»

  cy.get ('выбрать'). Select ('Гомер Симпсон')
  

Команды, указанные выше, будут отображаться в журнале команд как:

При нажатии на выберите в журнале команд, консоль выдаст следующее:

См. Также

HTML: тег

HTML5 Документ

Если вы создали новую веб-страницу в HTML5, ваш тег

В этом примере документа HTML5 мы использовали тег может выглядеть так:

  




 HTML 4.01 Transitional Example by www.techonthenet.com 



  

  <выбор>
    
    
    
  


  

В этом HTML 4. 01 Пример переходного документа, мы использовали тег может выглядеть так:

  




 Переходный пример XHMTL 1.0 от www.techonthenet.com 



  

  <выбор>
    
    
    
  


  

В этом XHTML 1.0 Пример переходного документа, мы использовали тег может выглядеть так:

  




 Строгий пример XHTML 1.0 от www.techonthenet.com 



<выбор>

В этом XHTML 1.0 Пример строгого документа, мы использовали тег может выглядеть так:

  




 XHTML 1.1 Пример с сайта www.techonthenet.com 



<выбор>

В этом примере документа XHTML 1.1 мы использовали тег элемент. Когда пользователь нажимает кнопку выбора, появляется диалоговое окно со всеми параметрами в большом, легко выбираемом списке.

Выбор следует использовать с дочерними элементами . Если дочерний вариант не задан значение атрибута, тогда его текст будет использоваться в качестве значения.

Если значение установлено на , выбранный вариант будет выбран на основе этого значения.

По умолчанию select использует ion-alert, чтобы открыть наложение параметров в предупреждении. Интерфейс можно изменить на использование лист ионного действия или ion-popover мимо action-sheet или всплывающее окно , соответственно, для свойства интерфейса . Прочтите другие разделы, чтобы узнать об ограничениях различных интерфейсов.

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

Добавив атрибут multiple для выбора, пользователи могут выбрать несколько вариантов. Когда можно выбрать несколько параметров, наложение предупреждений представляет пользователям список параметров в стиле флажка.Значение компонента выбора получает массив всех выбранных значений параметров.

Примечание: лист действий и popover интерфейсы не будут работать с множественным выбором.

При использовании объектов для выбранных значений идентичность этих объектов может измениться, если они поступают с сервера или базы данных, в то время как идентичность выбранного значения останется прежней. Например, это может произойти, когда существующая запись с желаемым значением объекта загружается в select, но недавно полученные параметры select теперь имеют разные идентификаторы.Это приведет к тому, что выбранный элемент будет казаться не имеющим никакого значения, даже если исходный выбор останется нетронутым.

По умолчанию при выборе используется равенство объектов ( === ), чтобы определить, выбран ли параметр. Это можно изменить, указав имя свойства или функцию для сравнитьС собственностью.

Предупреждение поддерживает две кнопки: Отмена и OK . Текст каждой кнопки можно настроить с помощью cancelText и okText свойства.

Акция-лист и popover интерфейсы не имеют OK , нажатие на любую из опций автоматически закроет оверлей и выберет это значение. В Всплывающее окно Интерфейс не имеет кнопки Отмена , нажатие на фон закроет оверлей.

Поскольку select использует интерфейсы предупреждений, действий и всплывающих окон, параметры могут быть переданы этим компонентам через interfaceOptions свойство.Это можно использовать для передачи настраиваемого заголовка, подзаголовка, класса css и т. Д.

См. Документацию ion-alert, документация ion-action-sheet и ion-popover docs для свойств, которые принимает каждый интерфейс.

Примечание: interfaceOptions не отменяет вводит или кнопки с интерфейсом предупреждений .

Компонент Select состоит из двух единиц, и каждый из них требует отдельного стиля. В ion-select Элемент представлен в представлении выбранным значением (ями) или заполнителем, если его нет, и значком раскрывающегося списка.Интерфейс, определенный в Раздел интерфейсов выше - это диалоговое окно, которое открывается при нажатии на ion-select . Интерфейс содержит все параметры, определенные путем добавления ion-select-option элементов. В следующих разделах будут рассмотрены различия между их стилями.

Выбор стиля для элемента

Как уже упоминалось, элемент ion-select состоит только из значения (значений) или заполнителя и значка, отображаемого в представлении.Чтобы настроить это, создайте стиль, используя комбинацию CSS и любой из Пользовательские свойства CSS:

  ion-select {
  
  цвет: # 545ca7;

  
  --placeholder-color: # 971e49;

  
  --placeholder-opacity: 1;
}  

В качестве альтернативы, в зависимости от необходимой поддержки браузером, можно использовать теневые части CSS для стилизации выбора:

 
ion-select {
  ширина: 100%;

  justify-content: center;
}


ion-select :: part (заполнитель),
ion-select :: part (текст) {
  flex: 0 0 авто;
}


ion-select :: part (заполнитель) {
  цвет: # 20a08a;
  непрозрачность: 1;
}


ion-select :: part (заполнитель) :: first-letter {
  размер шрифта: 24 пикселя;
  font-weight: 500;
}


ion-select :: part (текст) {
  цвет: # 545ca7;
}


ion-select :: part (icon) {
  цвет: # 971e49;
  непрозрачность: 1;
}  

Обратите внимание, что с помощью :: part можно выбрать любое свойство CSS элемента.

Интерфейс выбора стиля

Настройку диалогового окна интерфейса необходимо выполнить, следуя разделу «Настройка» в документации по этому интерфейсу:

Однако параметр «Выбрать» устанавливает класс для упрощения стилизации и позволяет передать класс в параметр наложения, см. Выберите Документация по параметрам, чтобы просмотреть примеры использования параметров настройки.

Список штатов США HTML фрагмент выбора

На этой странице есть фрагменты кода выбора / раскрывающегося списка HTML для создания списка штатов США.В списке используются значения аббревиатуры штата USPS. Список отдаленных территорий и записей USPS вооруженных сил также доступен. Просто добавьте их в выпадающий список, если хотите их использовать.


Государственный список (+ район) - Полное наименование

<выбор>




















































Внешние территории США - Полное название







Вооруженные силы - Полное наименование




Государственный список (+ район) - код ISO

<выбор>




















































Внешние территории США - код ISO







Вооруженные силы - код ISO




Государственный список (+ район) - название + код ISO

<выбор>




















































Внешние территории США - название + код ISO







Вооруженные силы - название + код ISO




dcc.Выпадающий список | Документация по Dash для Python

id ( строка ; необязательно):
Идентификатор этого компонента, используемый для идентификации компонентов тире в обратных вызовах
. Идентификатор должен быть уникальным для всех компонентов
в приложении.

className ( строка ; необязательно):
className раскрывающегося элемента.

очищаемый ( логическое значение ; по умолчанию True ):
Независимо от того, является ли раскрывающийся список «очищаемым», то есть отображается ли
маленький значок «x» справа от раскрывающегося списка, который
удаляет выбранное значение.

отключено ( boolean ; по умолчанию False ):
Если True, этот раскрывающийся список отключен и выбор не может быть изменен
.

loading_state ( dict ; необязательно):
Объект, содержащий объект состояния загрузки, поступающий из модуля рендеринга
dash.

loading_state - это диктатор с ключами:

  • имя_компонента ( строка ; необязательно):
    Содержит имя загружаемого компонента.

  • is_loading ( boolean ; необязательно):
    Определяет, загружается компонент или нет.

  • prop_name ( строка ; необязательно):
    Указывает, какое свойство загружается.

multi ( boolean ; по умолчанию False ):
Если True, пользователь может выбрать несколько значений.

optionHeight ( number ; по умолчанию 35 ):
высота каждой опции.Может быть увеличена, если длина этикетки составит
оберток.

параметры ( список словарных статей ; необязательно):
Массив параметров {метка: [строка | число], значение:
[строка | число]}, необязательное отключенное поле может использоваться для каждого
вариант.

опции - это список диктовок с ключами:

  • отключено ( boolean ; необязательно):
    Если True, этот параметр отключен и не может быть выбран.

  • метка ( строка | номер ; обязательно):
    Метка раскрывающегося списка.

  • заголовок ( строка ; необязательно):
    HTML-атрибут «заголовок» для опции. Позволяет получить
    информации при наведении курсора. Для получения дополнительной информации об этом атрибуте
    см.
    https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/title.

  • значение ( строка | число ; обязательно):
    Значение раскрывающегося списка.Это значение соответствует элементам
    , указанным в свойстве value .

persisted_props (список значений, равных: ‘value’s ; по умолчанию \ ['value' \] ):
Свойства, действия пользователя с которыми сохранятся после обновления
компонента или страницы. Поскольку разрешено только значение , эту опору
обычно можно игнорировать.

постоянство ( boolean | string | number ; необязательно):
Используется для сохранения взаимодействия пользователя в этом компоненте
при обновлении компонента или страницы.Если сохраняется, истинно
и не изменилось по сравнению с предыдущим значением, значение , которое
пользователь изменил во время использования приложения, сохранит это изменение, поскольку
, пока новое значение также соответствует заданному изначально.
Используется вместе с persistence_type .

persistence_type ( значение, равное: 'local', 'session', 'memory' ; по умолчанию 'local' ):
Где будут сохраняться постоянные изменения пользователя: memory: хранится только в памяти
, сбросить при обновлении страницы.local: window.localStorage, данные
сохраняются после закрытия браузера. session: window.sessionStorage, данные
очищаются после закрытия браузера.

заполнитель ( строка ; необязательно):
Серый текст по умолчанию, отображаемый, если не выбран ни один параметр.

search_value ( строка ; необязательно):
Значение, введенное в DropDown для поиска.

с возможностью поиска ( boolean ; по умолчанию True ):
Включать ли функцию поиска или нет.

style ( dict ; необязательно):
Определяет стили CSS, которые заменяют ранее установленные стили.

значение ( строка | число | список строк | чисел ; необязательно):
Значение ввода. Если multi имеет значение False (по умолчанию), то значение
- это просто строка, соответствующая значениям, указанным в
свойстве options . Если multi имеет значение True, тогда можно выбрать сразу несколько значений
, а значение представляет собой массив элементов со значениями
, соответствующими значениям в опциях options prop.

новый код - HTML-формы: раскрывающиеся меню

Выпадающие меню используются в формах для захвата ответов, для которых есть один правильный ответ из нескольких возможных ответов. Хороший пример этого - запрос на провинцию, штат или страну посетителя.

Рассмотрение альтернатив

При создании формы важно учитывать все возможности. Мы могли бы просто представить текстовое поле, в котором пользователь мог бы ввести название провинции, но это допускает возможность того, что он может сделать опечатку (которая становится проблемой, если эта информация вводится непосредственно в базу данных без контроля человека).Мы могли бы уменьшить размер текстового поля до двух символов и предложить пользователю просто ввести аббревиатуру провинции или штата: хотя это снижает вероятность ошибки, она не удаляет ее.

Одно из лучших решений для вопроса в форме, для которой есть только один правильный ответ из большого количества возможностей, - это раскрывающееся меню.

Раскрывающаяся разметка

В форме HTML это создается с помощью тега , <вариант> Альберта

Сама форма не знает текста между открывающим и закрывающим тегами option .Хотя первый вариант может быть выбран нашим пользователем, фактические данные не будут отправлены в сценарий formhandler.php , который интерпретирует данные в форме. Мы, вероятно, ни в коем случае не хотим использовать слово «Альберта»; «AB» было бы предпочтительнее для добавления в список рассылки или базу данных. Для этого мы должны добавить значение атрибутов к каждой из этих опций:

    

(обратите внимание, что атрибут value также может использоваться для предварительной установки текста для текстового поля ).

Наконец, первая опция в нашем выпадающем меню будет автоматически выбрана по умолчанию. Это не всегда хорошо. Во-первых, помните о наших предположениях о нашем пользователе. Если мы что-то выбрали заранее, вполне вероятно, что он пропустит это, чтобы сэкономить время, или просто пропустит. Лучше предложить пользователю сделать выбор и сделать эту подсказку выбранной по умолчанию, если только вы не можете быть абсолютно уверены, что подавляющее большинство респондентов вашей формы будут соответствовать заранее выбранным критериям.

    

Вы найдете учебники и интерактивную справку, в которых содержится код, позволяющий выбрать несколько вариантов в раскрывающемся списке или который превращает раскрывающийся список выбора в интерфейс с прокруткой. Вообще говоря, такая практика категорически не рекомендуется. Люди сбиваются с толку, когда их представляют, что приводит к ошибкам при вводе данных.

Элемент optgroup должен использоваться для обозначения групп связанных опций в раскрывающемся списке; сама optgroup не может быть выбрана. Довольно сбивает с толку то, что optgroup имеет обязательный атрибут label , который используется для указания ссылки на группу.

Например, чтобы показать штаты в США и провинции / территории Канады в том же раскрывающемся списке , мы могли бы сделать следующее.

  
  

В браузере результат будет выглядеть примерно так:

Штат / провинция / территория — выберите один — Алабама, Калифорния… оставшиеся штаты США… Альберта, Британская Колумбия… оставшиеся провинции и территории…

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