我可以制作一个Djjango表单ChoiceField可滚动吗?

时间:2017-02-13 16:00:34

标签: python html django

我有一个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)

Missing scroll bar

2 个答案:

答案 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;

}