我正在尝试在单个帖子中发送我的表单数据以及页码(用于分页),不幸的是我无法让它工作。这是代码,它不会在包含 {name : data} 标签的情况下运行。删除后它运行良好,但显然分页不起作用。有人知道如何发送序列化的表单数据以及来自变量的一些信息吗?
$(document).ready(function(){
//set initial page to zero
var pageRequest = 0;
$('.datepicker').datepicker();
$('#search_text').keyup(function(){
$('#test_form').submit();
});
//assign current page number to variable and get a new page
$('#page-links').on('click', '.page-indv', function(){
var pageRequest = $(this).attr('id');
$('#test_form').submit();});
//Send form data and page number, recieve JSON results
$('#test_form').submit(function(){
$.post(
$(this).attr('action'),
{pgeNmbr : pageRequest}, //works fine with this line removed
$(this).serialize(),
function(data){
$('#results').html(data.html);
$('#page-links').html(data.page);
},
"json"
);
return false;
});
$('#test_form').submit();
});
使用
..
$(this).serialize()+'&pgeNmbr='+pageRequest
..
serialize()
返回param=value¶m=value
等,因此您只需在末尾添加页面请求即可。
我意识到答案(如果仍然不起作用):更改行
var pageRequest = $(this).attr('id');
自
pageRequest = $(this).attr('id');
这里有一个范围问题,var pageRequest = 0;
顶部,作为全局变量,但您可以使用 var
将pageRequest
作为 click-event 内的新局部变量分配,该变量在外部不可见 - 它是您要更改以在submit()
中使用的"全局"pageRequest
。