JQuery在RoR中隐藏和显示功能

时间:2012-12-07 01:38:55

标签: jquery ruby-on-rails-3

我正在做一个需要JQuery的表单,当组合框选择1个值时,标签和文本框将显示或隐藏取决于具体情况。当我尝试使用googlechrome进行调试时,它运行正常。但是当我在我的localhost中尝试时,它不起作用。

这是我的JQuery

<script type="text/javascript">
   $(document).ready(function(){
        $("#combine_category_id").change(function(){
        if ($(this).val() == 1){
        $("#type").hide();
        $("#block").show();
        $("#road").show();
        $("#level").show();
        $("#facing").show();
        $("#size").show();
        $("#value").hide();
        $("#asking").show();
        $("#project").show();
        $("#unit").hide();
        $("#match").show();
    }
        else if ($(this).val() == 2){
        $("#type").hide();
        $("#block").hide();
        $("#road").show();
        $("#level").hide();
        $("#facing").show();
        $("#size").show();
        $("#value").hide();
        $("#asking").show();
        $("#project").hide();
        $("#unit").show();
        $("#match").show();
    }
        else if ($(this).val() == 3){
        $("#type").show();
        $("#block").show();
        $("#road").show();
        $("#level").show();
        $("#facing").show();
        $("#size").show();
        $("#value").show();
        $("#asking").show();
        $("#project").hide();
        $("#unit").hide();
        $("#match").hide();
    }
   });
    });
  </script>

这是Ruby on Rails中的_form.html.rb

<div class="field" id="combine_category_id">
    <%= f.label :category_id %><br />
   <%= f.collection_select(:category_id ,  @get_master, :id , :category) %>
   </div>

   <div class="field" id="type">
    <%= f.label :type %><br />
    <%= f.number_field :type %>
    </div>

   <div class="field" id="project">
    <%= f.label :project_name %><br />
    <%= f.text_field :project_name %>
    </div>

    <div class="field" id="no">
    <%= f.label :unit_no %><br />
    <%= f.number_field :unit_no %>
    </div>

   <div class="field" id="block">
    <%= f.label :block_no %><br />
    <%= f.text_field :block_no %>
    </div>

   <div class="field" id="road">
    <%= f.label :road_name %><br />
    <%= f.text_field :road_name %>
    </div>

   <div class="field" id="level">
    <%= f.label :level %><br />
    <%= f.number_field :level %>
    </div>

   <div class="field" id="facing">
    <%= f.label :facing %><br />
    <%= f.text_field :facing %>
    </div>

   <div class="field" id="size">
    <%= f.label :size %><br />
    <%= f.number_field :size %>
    </div>

   <div class="field" id="value">
    <%= f.label :value %><br />
    <%= f.number_field :value %>
    </div>

   <div class="field" id="match">
    <%= f.label :match_bank %><br />
    <%= f.number_field :match_bank %>
    </div>

   <div class="field" id="asking">
    <%= f.label :asking %><br />
    <%= f.number_field :asking %>
    </div>

  <div class="actions">
    <%= f.submit %>
  </div>

有什么解决方法可以解决这个问题吗? 非常感谢帮助我。

1 个答案:

答案 0 :(得分:1)

您正在选择div,而不是输入。

$("#combine_category_id select").change(...