将表单字段隐藏在edit-Javascript和RubyonRails上

将表单字段隐藏在edit-Javascript和RubyonRails上,javascript,jquery,ruby-on-rails,hidden,Javascript,Jquery,Ruby On Rails,Hidden,我在rails(3.2)中有一个表单,根据一些组合框的更新值隐藏一些字段 为此,我目前正在使用javascript,下面是一个示例: $('#sample_pcris').change(function(){ if( $(this).val() === "Nao" ) { $(".resultpcr").hide(); } else { $(".resultpcr").show();

我在rails(3.2)中有一个表单,根据一些组合框的更新值隐藏一些字段

为此,我目前正在使用javascript,下面是一个示例:

$('#sample_pcris').change(function(){
        if( $(this).val() === "Nao" ) {
                $(".resultpcr").hide();
            } else {
                $(".resultpcr").show();   
           } 
        return false;
    });
当我创建记录时,这很有效,但我想让它“持久化”和“独立于客户端”,也就是说,假设我创建了记录并且一些字段被隐藏,如果其他人稍后试图编辑该记录,我希望相同的字段保持隐藏,除非他更改组合框的值

最好的方法是什么?用javascript序列化?或者你有别的建议吗

欢迎所有想法:)谢谢你(至少)有两种方法可以做到这一点。您可以在页面加载后使用JavaScript隐藏该字段,也可以将其直接隐藏在模板中

第一种方法类似于:

function handleHiding() {
    if( $('#sample_pcris').val() === "Nao" ) {
        $(".resultpcr").hide();
    } else {
        $(".resultpcr").show();   
    } 
}

$(document).ready(function() {
    handleHiding();

    $('#sample_pcris').change(function(){
        handleHiding();
    });
});
第二个看起来像(我使用的几乎是随机代码,但它应该给你一个想法):



显然未经测试。

谢谢您的回答@jacovac。我选择了Javascript解决方案,效果非常好。我将把这个问题再讨论一会儿,看看我们是否还有其他建议。否则我会投你的票作为最佳答案。再次感谢你的帮助!
<% if @sample_pcris == 'Nao' %>
    <%= f.text_field :resultpcr, class: 'resultpcr', style: 'display: none' %>
<% else %>
    <%= f.text_field :resultpcr, class: 'resultpcr' %>
<% end %>