我有一个简单的表格。现在,我需要做的是在提交表单时使用与第一次搜索的新值不同的新值隐藏div元素。
我该怎么做?
我在轨道上使用jquery和ruby
这是代码
<%= form_tag home_path, :method => "post", :name=>"onLoad", :remote=> true do %>
<div class="containePrepend">
<% if params[:searchedValue].nil? == true%>
<%=text_field_tag 'search', nil, :placeholder => 'Please enter the product to continue' %>
<%else%>
<%=text_field_tag 'search', nil, :value => params[:searchedValue]%>
<%end%>
</div>
<%= button_tag(:type => 'submit', :id => "buttonSubmit") do %>
<% end %>
<% end %>
表单正在通过ajax提交,appends
提交给div
<div class="product_first_roll"></div>
<div class="product_old_roll"></div>
现在,如果搜索的值比前一个值更新。我想隐藏旧搜索中的内容
<div class="product_first_roll"></div>
<div class="product_old_roll"></div>
只显示新内容
<div class="product_first_roll"></div>
<div class="product_old_roll"></div>
对不起,如果听起来太复杂或搞砸了。如果我只知道如何检查表单是否以新值提交,我可以计算出其余部分。
由于
答案 0 :(得分:1)
一种方法是:
只需要一个div,并在每次搜索后继续使用新的搜索结果更新相同的div,这样就不需要隐藏旧的div。
可替换地,
在<%= hidden_field_tag :previous_search_value, params[:searchValue] %>
等表单中添加隐藏字段,现在在controller action
中添加
@hidden = params[:previous_search_value].eql?(params[:searchValue])
现在完成此操作后,在success函数或.js.erb文件中添加以下逻辑以隐藏div。
<% if @hidden %>
$("#product_old_roll").hide();
<% end %>
希望这会有所帮助。