Как установить максимальное количество элементов для отображения в окне выбора HTML - PullRequest
6 голосов
/ 26 февраля 2009

У меня есть поле <select> с несколькими номерами года, начиная с 50-летней давности, и в настоящее время, когда я нажимаю на поле, параметры доходят до самого нижнего края экрана, есть ли способ установить максимальное количество опций, которое должно отобразить окно выбора, прежде чем прибегать к полосе прокрутки, чтобы показать остальные? Я не смог найти ничего об этом в Google, единственное, что подошло ближе, это атрибут size, который действительно не тот, который я хочу.

Ответы [ 4 ]

2 голосов
/ 26 февраля 2009

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

2 голосов
/ 26 февраля 2009

Возможно получить подобный эффект с Javascript. Это тебе ближе?

<select id="mySelect" 
            onfocus="this.size=4" 
            onblur="this.size=1"
            onmouseleave="this.size=1">
    <option>1</option>
    <option>2</option>
    <option>3</option>
    <option>4</option>
    <option>1</option>
    <option>2</option>
    <option>3</option>
    <option>4</option>
    <option>1</option>
    <option>2</option>
    <option>3</option>
    <option>4</option>
</select>

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

2 голосов
/ 26 февраля 2009

Нет, это невозможно.

Вы можете сделать несколько хитрых вещей в JavaScript / AJAX, но обычно есть лучшее решение. ;)

0 голосов
/ 26 февраля 2009

@ Aistina - ваш вопрос относится к чистому CSS и HTML.
Как написали teknohippy и Lennart , если вы можете \ хотите включить JavaScript, вы можете получить желаемый эффект.
Вы можете создать свой собственный выбор или текстовое поле ( пример ) или использовать элементы управления для этого ( пример )

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...