我有 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
给函数的正确方法是什么,但是当它被改变时仍然会更新它在函数内部的值。