问题描述
我有Django形式的ChoiceField下拉菜单。 它的时间从9:00 AM到5:30 PM-大约18个项目。 当某人单击下拉菜单时,它将立即显示所有值。 我想做的是只显示3个或4个值,并在右侧显示滚动条,以便用户进行滚动。 我想要这种方式的原因是因为它占用的空间更少,并且看起来更好。 无论如何要做到这一点? 这是我到目前为止的内容:
MY_CHOICES = (
('1', '9:00AM'),
('2', '9:30AM'),
('3', '10:00AM'),
('4', '10:30AM'),
('5', '11:00AM'),
('6', '11:30AM'),
('7', '12:00PM'),
('8', '12:30PM'),
('9', '1:00PM'),
('10', '1:30PM'),
('11', '2:00PM'),
('12', '2:30PM'),
('13', '3:00PM'),
('14', '3:30PM'),
('15', '4:00PM'),
('16', '4:30PM'),
('17', '5:00PM'),
('18', '5:30PM'),
)
my_choice_field = forms.ChoiceField(choices=MY_CHOICES)
1楼
那是一个内置的浏览器控件; 没有办法使其可滚动。 唯一要做的是将其替换为自定义Javascript小部件。 您可能想研究完全做到这一点的 ; 有一个库,该库实现了可在您自己的表单中使用的表单小部件。
2楼
也许可以,实现和js库: :
您可以按所需的高度修改CSS
.select2-container--default .select2-results>.select2-results__options {
max-height: 200px;
overflow-y: auto;
}