Мне также очень интересно иметь однострочный для этого преобразования, поскольку такой список является инициализатором по умолчанию для хэширования в Perl.
Исключительно полный ответ приведен в этом потоке -
Mine one Я новичок в Python), используя Python 2.7 Generator Expressions , будет:
dict((a[i], a[i + 1]) for i in range(0, len(a) - 1, 2))
Я знаю, что Вы упомянули, что не хотите, но я на самом деле думаю то использование disabled
атрибут является лучшим решением:
<select multiple="multiple">
<option value="volvo" selected="true" disabled="disabled">Volvo</option>
<option value="saab" disabled="disabled">Saab</option>
<option value="opel" disabled="disabled">Opel</option>
<option value="audi" disabled="disabled">Audi</option>
</select>
При необходимости можно всегда давать select
a class
и разработайте его с CSS. Это решение будет работать во всех браузерах независимо от сценариев возможностей.
@Jack и @17 из 26, положительная сторона, но конечный пользователь будут ожидать, что избранное поле будет отключено так, чтобы беспорядок не должен был быть проблемой.
Я должен был быть более ясным о том, почему я не мог только отключить управление.
Приложение, которое будет использовать это, должно будет отключить выбор опций и существует требование, чтобы "заблокированное" управление все еще поддержало стиль средств управления нормальной формой.
Вы могли сделать это с onchange
событие?
<select onfocus="this.oldIndex=this.selectedIndex" onchange="this.selectedIndex=this.oldIndex">
Ваш лучший выбор состоял бы в том, чтобы выгрузить опции в избранном поле. Если у Вас только есть один ответ в том поле, не имеет значения, если это активируемо по щелчку.
Я, однако, попытался бы найти другой способ сделать это, поскольку кажется, что это вызвало бы разочарование для пользователя. Вообразите этот пользовательский сценарий:
При выгрузке выбора для текста HTML он выполняет ту же цель. Это - довольно простая задача для большинства главных платформ JavaScript.