本文介绍了如何在Django中集成下拉列表中的多选字段的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想为多选字段实现过滤函数。因为有很多选项,我不能在网页上清楚地列出所有选项。

我从我的同事那里得到了期望的结果,即在下拉列表中集成多选内容。如附件所示。我想知道是否有可能使用Django实现这一点?有人做过这样的事吗?

想听听任何有帮助的建议。非常感谢您的时间和帮助!!

Multiselected field in dropdown list

下面是我需要用于此函数的模型。我使用工业的Django-multiSelectField包。我要做的是,将所有选项作为多选字段列在下拉列表下。

model.py

推荐答案

您可以使用MultipleChoiceField小部件CheckboxSelectMultiple来创建如下内容:

class CustomWidgetForm(forms.Form):

    SOME_CHOICES = (
        (1, "Havana"),
        (2, "New York"),
        (3, "Changai"),
        (4, "London"),
    )

    multiselect = forms.MultipleChoiceField(choices=SOME_CHOICES, widget=forms.CheckboxSelectMultiple())

这将呈现多选字段,如下所示:

然后,您可以对CheckboxSelectMultiple小部件应用custom template,以便提供一些js并按照您的需要呈现小部件。

另一种方法是将默认多选字段与类似JQuery.sumoselect

的jQuery插件结合使用

上述插件能够使选择框如下所示:

有很多可能性,但可以肯定的是,您必须让JS参与其中。

这篇关于如何在Django中集成下拉列表中的多选字段的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

05-20 13:11