<SELECT multiple> - как разрешить только один элемент?

У меня есть поле <SELECT multiple> с несколькими параметрами, и я хочу разрешить ему иметь только одну опцию, выбранную одновременно, но пользователь может удерживать клавишу CTRL и одновременно выбирать несколько элементов.

Есть ли способ, как это сделать? (Я не хочу удалять 'multiple').

Ответ 1

Просто не делайте его множественным выбором, но задайте ему размер, например:

  <select name="user" id="userID" size="3">
    <option>John</option>
    <option>Paul</option>
    <option>Ringo</option>
    <option>George</option>
  </select>

Рабочий пример: https://jsfiddle.net/q2vo8nge/

Ответ 2

Если пользователь должен выбрать только один параметр одновременно, просто удалите "multiple" - сделайте нормальный выбор:

  <select name="mySelect" size="3">
     <option>Foo</option>
     <option>Bar</option>
     <option>Foo Bar</option>
     <option>Bar Foo</option>
  </select>

Fiddle

Ответ 3

Почему вы не хотите удалять атрибут multiple? Вся цель этого атрибута - указать браузеру, что из данного элемента select можно выбрать несколько значений. Если нужно выбрать только одно значение, удалите атрибут, и обозреватель узнает, что разрешит только один выбор.

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

Ответ 4

По умолчанию требуется только одна опция, но пользователь может выбрать несколько опций, нажав клавишу CTRL. Это (уже) именно то, как должно себя вести SELECT multiple.

Смотрите это: http://www.w3schools.com/tags/tryit.asp?filename=tryhtml_select_multiple

Можете ли вы прояснить свой вопрос?

Ответ 5

Я прихожу сюда после поиска google и изменения в моем конце.

Итак, я просто изменяю этот образец, и он будет работать с jquery во время выполнения.

$('select[name*="homepage_select"]').removeAttr('multiple')

http://jsfiddle.net/ajayendra2707/ejkxgy1p/5/

Ответ 6

У меня были некоторые сделки с select\multi-select вот что помогло

<select name="mySelect" multiple="multiple"> <option>Foo</option> <option>Bar</option> <option>Foo Bar</option> <option>Bar Foo</option> </select>

Ответ 7

<select name="flowers" size="5" style="height:200px">
 <option value="1">Rose</option>
 <option value="2">Tulip</option>
</select>

Это простое решение позволяет получить визуально список опций, но для того, чтобы выбрать только один.