我有一个Django形式的ChoiceField下拉菜单。它有时间从上午9:00到下午5:30 - 约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)
答案 0 :(得分:0)
这是一个内置的浏览器控件;没有办法让它可滚动。唯一要做的就是用自定义Javascript小部件替换它。您可能想要调查select2,这正是这样做的;有一个django-select2库,它实现了一个表单小部件,您可以在自己的表单中使用它。
答案 1 :(得分:0)
也许你可以,实现和js库:https://select2.github.io/examples.html
您可以根据需要修改css
.select2-container--default .select2-results>.select2-results__options {
max-height: 200px;
overflow-y: auto;
}