如何根据布尔字段的状态动态显示Rails字段?

时间:2012-03-19 15:06:17

标签: javascript ruby-on-rails

在使用Jquery的Rails 3应用程序中,我试图根据布尔字段是真还是假来动态显示/隐藏表单元素。

目前我的jquery函数看起来像这样:

$(function() {
    $('#boolean').change(function(){
        if ($(this).value == true) {
            $('.hidden-fields').show();
        } else {
            $('.hidden-fields').hide();
        }
    });
})

如何正确地将布尔字段值传递给此函数,以便:

  1. 在页面加载时初始化函数,并隐藏/显示字段 基于数据库中的值;和
  2. 更改布尔值时切换字段。
  3. 很抱歉这是一个简单的问题。我正试图掌握javascript并且非常感谢任何指针。

    由于

1 个答案:

答案 0 :(得分:1)

您的HTML页面上只有一个元素,其中包含 id 的布尔值吗?因为使用#boolean将仅返回第一个。如果您有很多,则应使用boolean,然后使用.boolean引用该类的所有元素。

但问题是:

1)的示例代码将在页面加载时运行,并将自动应用于具有.boolean类的所有元素(假设您采用这种方式)。如果您想立即隐藏或显示元素,因为,例如,数据库中的值设置为false,那么当您在ERB或HAML或任何视图中呈现页面时,应该这样做。

2)如果您将此JS附加到的元素是一个选择框或具有change()函数的东西,那么您已经准备好了。如果您想知道,当数据库更改时,此视图是否会自动更改其可见性,那么这是不同的。