テーブルの結果をフィルタリングするために使用する選択フィールドがあります。 selectからオプションを選択すると、ajaxが起動してテーブルが更新されますが、テーブルが更新されるとselectがリセットされます。フィルタにテキストボックスを使用すると、この問題は発生しません。JQuery ajaxフォームのサブミットは選択値をリセットし、それを保持しません
形式:
<%= 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;
});
});
選択をリセットするものはありません。たぶん、返されているスクリプト内の何かがそれをやっているのでしょうか? – Barmar
私は応答を確認します。私はそのようなものでなければならないと思う。私はそれがブラウザの問題かもしれないと思ったが、それはすべて同じである。セットアップ中の何かが間違っています。 – porterhaus
'form.action'は' form [0] .action'または 'form.attr( 'action')'でなければなりません。 'form'はjQueryオブジェクトですが、' action'はDOMプロパティです。 – Barmar