У меня есть потребность показать DropDown (элемент выбора HTML) расширенный первоначально, когда это загружается так, чтобы все варианты в DropDown показались. Я искал вполне немного, но удивительно, я не нашел решение такой простой проблемы. Я использую ASP.NET MVC с jQuery.
Вы можете написать в HTML-коде:
<select size="3" name="test" id="test">
<option value="1">one</option>
<option value="2">two</option>
<option value="3">three</option>
</select>
и затем через javascript установить таймер, который через некоторое время изменит атрибут размера поля выбора на 1. Например, в конце страницы (перед тегом clsed body) поместите этот код:
<script type="text/javascript">
window.setTimeout(function() { document.getElementById('test').size = 1; }, 5000); //5000 = 5 seconds
</script>
Вот небольшой мэшап (который нужно настроить и оптимизировать), но он должен помочь вам начать:
<div style="position:relative">
<select style="position: absolute">
<option>option 1</option>
<option>option 2</option>
<option>option 3</option>
<option>option 4</option>
<option>option 5</option>
</select>
</div>
<script type="text/javascript">
$(document).ready(function() {
$("select").one("focus", function() {
this.size = this.options.length;
}).one("click", function() {
this.size = 1;
}).one("blur", function() {
this.size = this.options.length;
}).focus();
});
</script>