Web2py - 多选项复选框实现

时间:2012-04-22 01:10:46

标签: web2py

我正在尝试实现一个表单,其中每个字段都有多个选项,并且必须是复选框行。我想在行标题中显示此表单,在相应行中显示复选框选项。我还需要有关数据库表实现的帮助。任何帮助将不胜感激。我是web2py的新手。提前谢谢。

1 个答案:

答案 0 :(得分:0)

到目前为止你尝试了什么?听起来你想要一个带有布尔值的数据模型:

(在models / ???。py - 确保它在db.py之后执行并且你已经定义了一个DB)

db.define_table('table_name', 
   Field('SomeFieldA', 'boolean')
   Field('SomeFieldB', 'boolean')
   Field('SomeFieldC', 'boolean')
   Field('SomeFieldD', 'boolean')
   ... etc ...
)

您可能需要实现自定义表单才能获得所需的布局,因为我无法想到采用开箱即用的方式。

了解custom forms here

您需要从以下内容开始:

<table>
{{=form.custom.begin}}
  <thead>
    <tr>
    {{ #loop over form field labels... something like:
      for field in form.fields: }}
      <th>{{=field.label}}</th>
    {{ pass }}
    </tr>
  </thead>

  <tbody>
    <tr>
    {{for field in form.fields: }}
      <td>{{  =form.custom.widget[field]  }}</td>
      {{ # or directly access it without a loop with form.custom.widget.SomeFieldA }}
    {{ pass }}
    </tr>
  </tbody>      

  {{=form.custom.submit}}
{{=form.custom.end}} 
</table>

请注意,我尚未测试任何此代码,我可能正在访问表单字段并标注错误。如果需要预先填充表单,请在控制器中执行此操作。上面的自定义表单链接也讨论了预填充。