- как разрешить только один выбранный элемент?

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

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

7 ответов


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

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

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


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

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

Скрипка


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

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


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

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

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

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


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

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

не могли бы Вы уточнить ваш вопрос?


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

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


У меня были некоторые отношения с select \ multi-select это то, что сделало трюк для меня

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