JQuery ajax表单提交重置选择值并且不会持久化它

时间:2016-06-01 22:47:20

标签: jquery ruby-on-rails ajax

我有一个select字段用于过滤表格上的结果。当我从select中选择一个选项时,它会激活ajax并更新表...但是,一旦表更新,它就会重置select。如果我使用文本框来过滤我不会遇到这个问题。

形式:

<%= form_tag items_path, method: :get, class: "navbar-form search-form", remote: true do %>
  <%= select_tag :search, options_from_collection_for_select(Model.all, "id", "id"), include_blank: true, class: "form-control", id: "filter-key" %>
<% end %>

JS / JQuery的

$(document).ready(function(){

  $(document).on("change", "#filter-key", function(){
    var form = $('.search-form');
    $.get(form.action, form.serialize(), null, 'script');
    return false;
  });

});

1 个答案:

答案 0 :(得分:0)

正在返回的脚本中的某些内容必须重置选择值。您可以保存该值并将其放回AJAX代码中。

var self = $(this);
var oldValue = self.val();
$.getScript(form.attr('action'), form.serialize(), function() {
    self.val(oldValue);
});