1

我有一个通过 SQLFORM 创建的 web2py 表单。表单的一部分是可选的,因此我希望它在默认情况下从显示中隐藏,并且仅在用户选中表单上的复选框时显示。

我现在正在做的是将各种输入表单行设置为在控制器中不显示:

form.element('#mytable_myfield__row')['_style'] = 'display: none'
...

然后在我看来:

{{extend 'layout.html'}}
<script>
jQuery(document).ready(function($){

    $('#mytable_is_something').change(function() {
        $('#mytable_myfield__row').toggle();
            ...
    });       

});
</script>
<h1>Create Something</h1>
{{=form}}

#mytable_is_something我的复选框的 id 在哪里)

  1. 这是最好的方法吗?
  2. 由于我有几个要切换其可见性的字段,有没有办法将它们分组到一个 DIV 中,然后只切换该 div 的可见性?
4

1 回答 1

2
  1. 这是最好的方法吗?

似乎合理,但如果将 CSS 移动到视图中的块(或单独的样式表)而不是内联可能会更干净。

  1. 由于我有几个要切换其可见性的字段,有没有办法将它们分组到一个 DIV 中,然后只切换该 div 的可见性?

可能最好的方法是创建自定义表单布局

于 2013-10-14T12:44:16.740 回答