Thực ra có một chút hack có thể đạt được khả năng thiếu kỳ lạ này để chọn số lượng mục được hiển thị tại TAG CHỌN.
1 -
Giả sử chúng tôi muốn SELECT hiển thị số lượng tối đa 10 mục. Thêm sự kiện js sau để TAG SELECT của bạn sẽ đạt được mục tiêu này:
onfocus='this.size=10;'
onblur='this.size=1;'
onchange='this.size=1; this.blur();'
này sẽ đánh lừa SELECT của bạn cho nó hiệu quả mong muốn biến nó thành một SELECT cỡ.
2 -
Giả sử tại thời điểm nhất định có ít hơn 10 mục chúng tôi muốn hiển thị.
Giả sử bạn đang nhận được SELECT của bạn từ một truy vấn SQL bạn có thể làm một cái gì đó như sau: Một khi bạn biết có bao nhiêu hàng truy vấn của bạn có bạn có thể đưa câu bên cạnh các vòng lặp
if($nRow<10){
$nRowSelect=$nRow+1;
}
else{
$nRowSelect=10;
}
Vì vậy, nếu có ít hơn 10 hàng ở mỗi vòng lặp, nó phân bổ số hàng mong muốn mà nó sẽ hiển thị.
onfocus='this.size=$nRowSelect;'
onblur='this.size=1;'
onchange='this.size=1; this.blur();'
3 -
Buggy hành vi thay yếu tố. Kể từ khi hack này thay thế một SELECT phổ biến với một 'có kích thước' nó mất không gian nó cần di dời nội dung, không giống như một SELECT phổ biến mà chồng chéo nội dung bên dưới nó. Để ngăn chặn điều này xảy ra nếu SELECT sẽ được đặt giả sử thành một TAG TD đầu tiên bạn có thể đặt nó trong một DIV với phong cách sau đây:
position:absolute;
z-index:1;
này sẽ cho phép các kích thước CHỌN chồng chéo nội dung dưới đây nó như thể nó là một SELECT phổ biến.
Vấn đề này đã được thảo luận. http://stackoverflow.com/questions/5538330/how-do-i-limit-the-number-of-options-displayed-in-an-html-select-element-dropdow – Pavan