我有一个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;
});
});
答案 0 :(得分:0)
正在返回的脚本中的某些内容必须重置选择值。您可以保存该值并将其放回AJAX代码中。
var self = $(this);
var oldValue = self.val();
$.getScript(form.attr('action'), form.serialize(), function() {
self.val(oldValue);
});