Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 在RubyonRails窗体上有条件地显示字段_Jquery_Ruby On Rails - Fatal编程技术网

Jquery 在RubyonRails窗体上有条件地显示字段

Jquery 在RubyonRails窗体上有条件地显示字段,jquery,ruby-on-rails,Jquery,Ruby On Rails,我有一个RubyonRails应用程序,它使用Bootstrap进行样式设置。这是表单中的一个片段,我想在选择上一个字段中的非空值后使该字段可见。因此,一旦选择了非空的“criteria”,我想让“criteria\u reason”字段可见。如何修复此代码 <%= f.select :criteria, ['', 'Yes', 'No', 'Maybe'] %> <%= f.text_field :criteria_reason, class:"form-control",

我有一个RubyonRails应用程序,它使用Bootstrap进行样式设置。这是表单中的一个片段,我想在选择上一个字段中的非空值后使该字段可见。因此,一旦选择了非空的“criteria”,我想让“criteria\u reason”字段可见。如何修复此代码

<%= f.select :criteria, ['', 'Yes', 'No', 'Maybe'] %>

<%= f.text_field :criteria_reason, class:"form-control", placeholder:'Reason',
      style:"#{'display:none' if :criteria == ''}" %>


谢谢

通过调用@object do | f |的
表单_,您将
@object
传递到
ActionView::FormBuilder
中。在
f
中,您可以通过调用
f.object

所以在这种情况下,你需要

<%= f.text_field :criteria_reason, class:"form-control", placeholder:'Reason',
      style:"#{'display:none' if f.object.criteria == ''}" %>


通过调用@object do | f |
表单|
查看,您正在将
@object
传递到
ActionView::FormBuilder
中。在
f
中,您可以通过调用
f.object

所以在这种情况下,你需要

<%= f.text_field :criteria_reason, class:"form-control", placeholder:'Reason',
      style:"#{'display:none' if f.object.criteria == ''}" %>


请参见

单击下拉列表时,可以使用javascript使其在“不可见”上可见

<script type="text/javascript">
  $(function () {
    $("#category_category_id").change(function () {
        var category = $(this).val();
        if (category != "") {
          $("#category_criteria_reason").show();
        } else {
          $("#category_criteria_reason").hide();
        }
    });

  });
</script>

单击下拉列表时,可以使用javascript使其在“不可见”上可见

<script type="text/javascript">
  $(function () {
    $("#category_category_id").change(function () {
        var category = $(this).val();
        if (category != "") {
          $("#category_criteria_reason").show();
        } else {
          $("#category_criteria_reason").hide();
        }
    });

  });
</script>

嗨,谢谢你的发帖。这在我提交表单后生效。但是,在提交表单之前,我需要根据之前的选择隐藏该字段。您好,谢谢发布。这在我提交表单后生效。但是,在提交表单之前,我需要根据之前的选择隐藏该字段。您好,我不为表单使用任何类。大约有50对字段需要具有此功能。你能建议如何调整你的代码来适应这一点吗?除了我的代码,我还有类似
的表单,所以我的类表单是
类别
。然后,您必须将前缀
id
更改为javascript代码中的类形式。例如:如果您的类
post
,则可以在javascript中更改为
$(“#post_-criteria_-reason”)
。最后,将javascript放在表单下方。我希望这对你有很大帮助。嗨,我不使用任何类的形式。大约有50对字段需要具有此功能。你能建议如何调整你的代码来适应这一点吗?除了我的代码,我还有类似
的表单,所以我的类表单是
类别
。然后,您必须将前缀
id
更改为javascript代码中的类形式。例如:如果您的类
post
,则可以在javascript中更改为
$(“#post_-criteria_-reason”)
。最后,将javascript放在表单下方。我希望这对你有很大帮助。