我有一个显示结果的页面。结果通过 (document).ready 上的 ajax 请求加载到内容 div 中。可以使用表单过滤结果。在 $(#filter_form).submit() 上,发出了 ajax 请求,并且内容 div 填充了过滤后的结果。到目前为止,一切都很好。
单击结果将在新页面中加载结果详细信息,非 ajax 加载。单击后退按钮后,我们返回结果页面,表单复选框仍处于选中状态,但过滤器不再应用于结果。显然,在 document.ready 上,发出了第一个未过滤的 ajax 请求并加载了未过滤的结果。
我最初的想法是在页面上准备检查是否检查了任何表单元素,如果是,则提交表单。问题是我不知道如何使这项工作。
我加载过滤结果的脚本是这样的:
$('#filter_form').submit(function(e){
e.preventDefault();
$.ajax({
url: '<?=base_url().'catalog/show_listings/?';?>'+queryString,
type:'GET',
data: $('form#filter_form').serialize(),
dataType: 'json',
success: function(listings){
$('#result_container').html(listings);
} // End of success function of ajax form
}); // End of ajax call
});
我设法弄清楚如何检查是否有任何表单元素处于活动状态:
var validate= false;
$('#requestfilter_from').each(function(){
if($(this).val() != '' || $(this).attr('checked'))
validate = true;
});
我只是不知道如何将两者结合起来。我尝试在第二个脚本中运行 ajax 请求(不再发布该脚本),但它没有提供任何结果。
任何建议或指示将不胜感激。