ユーザーが選択できる 8 つの検索フィルターがあります。ユーザーがフィルターをクリックすると、このフィルターのオプションが開きます。ユーザーがクリックすると、関数hideFilterSearch()
がトリガーされます。変数 formData のスコープの理解に問題があります (以下を参照)。
$(document).ready(function() {
var formData = $("form").serialize();
});
function hideFilterSearch() {
console.log(formData);
$(".filters").hide();
newFormData = $("form").serialize();
if (formData != newFormData) {
//newFormData is sent with ajax and search results are updates
}
formData = $("form").serialize();
}
//show, hide filter changer
$('body').click(function(event) {
if (!$(event.target).closest('.filter').length) {
hideFilterChanger();
};
});
この場合、コンソールログには空の文字列が表示されます。formData
私も引数として送信しようとしまし()hideFilterSearch(formData)
たが、問題はformData
更新されません。関数に渡す正しい方法はわかりませんが、formData
変更されたときに関数内の値を更新します。