2009-02-26 9 views
6

Mam pudełko <select> z pewnymi numerami lat w nich, począwszy od 50 lat wstecz, a obecnie po kliknięciu na pole opcje osiągną u dołu ekranu, czy istnieje sposób na określenie maksymalnej liczby opcji, które powinno zostać wyświetlone, zanim skorzystasz z paska przewijania, aby wyświetlić całą resztę? Nie mogłem znaleźć nic na ten temat w Google, jedyną rzeczą, która się do nich zbliżyła, jest atrybut size, który jest nie jest tym, czego chcę.Jak ustawić maksymalną liczbę elementów do wyświetlenia w polu wyboru HTML

+0

Jest to możliwe z jakiegoś Javascript –

Odpowiedz

2

Uważam, że powodem, dla którego nie możesz tego zrobić (przepraszam) jest to, że są one zwykle implementowane jako rodzime ustawienia systemu operacyjnego, co oznacza również, że zachowują się inaczej w różnych przeglądarkach/platformach.

+0

Bugger, szkoda. Być może mój szef pozwoli mi uciec z pokazywaniem mniej lat: P – Aistina

2

Nie jest to niemożliwe.

Można zrobić pewne podchwytliwe skrypty JavaScript/AJAX, ale zazwyczaj istnieje lepsze rozwiązanie. ;)

2

Można uzyskać podobny efekt w JavaScript. Czy to jest dla ciebie bliższe?

<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> 

Oczywiście użytkownicy, którzy nie są javascriptami, będą mieli ogromne możliwości.

+1

Heh, fajny pomysł, ale wydaje się raczej błędny. No cóż... – Aistina

0

@Aistina - twoje pytanie dotyczy czystego CSS i HTML.
Jako teknohippy i Lennart napisał, że jeśli chcesz \ JavaScript, możesz uzyskać pożądany efekt.
Można budować własne wybrać lub tekstowym (example) lub używać formantów, aby to zrobić (example)

Powiązane problemy