将表单字段隐藏在edit-Javascript和RubyonRails上
我在rails(3.2)中有一个表单,根据一些组合框的更新值隐藏一些字段 为此,我目前正在使用javascript,下面是一个示例:将表单字段隐藏在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();
$('#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 %>