【问题标题】:How can I render a list of checkboxes with checkboxes with django?如何使用 django 呈现带有复选框的复选框列表?
【发布时间】:2012-06-29 09:09:50
【问题描述】:

我想用 django 创建这个表单;

[ ] parent_checkbox1  
  [ ] sub_cb1_pcb1  [ ] sub_cb2_pcb1
...
[ ] parent_checkbox10
  [ ] sub_cb1_pcb10  [ ] sub_cb2_pcb10

我可以渲染父复选框:

parent = forms.MultipleChoiceField(label="Parent",
                                       widget=forms.CheckboxSelectMultiple)
self.fields['parent'].choices = 'list of choices'

但是如何将 sub_checkboxes 添加到父级?

【问题讨论】:

标签: python django forms model


【解决方案1】:

尝试改用jQuery dynatree 插件。我曾想过编写一个自定义小部件,但发现这个小部件更易于安装和维护。

为此,您需要输出一个递归 HTML:

<div id="tree">
   <ul>
      <li id="1">Element 1</li>
      <li id="2">Element 2
          <ul> ... </ul>
      </li>
   </ul>
</div>

安装js文件并调用jquery方法:

$('#tree').dynatree(parameters);

【讨论】:

  • 对不同的解决方案很感兴趣,我猜您在表单帖子中包含 div=tree,但是提交后您将如何在 django 中处理它?
  • 我不记得它是否有任何隐藏输入。如果没有,你可以绑定一个回调并设置一些值,然后接收一个字符串并解析它。我使用回调来设置 cookie,因为我不需要表单。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-02-14
  • 2018-06-01
  • 2011-07-17
  • 2014-04-11
  • 2011-01-23
  • 2012-03-09
相关资源
最近更新 更多