我在页面中使用scroll-pagination作为插件,并使用表单将值传递给url我正在获取结果。
加载后的新表单将动态添加到我的页面,并且我想序列化新表单以重新进行新页面问题,我的代码保持序列化第一个表单而不是新表单。
这是我的Jquery
$(function(){
var datastring=$(".passform").last().serialize();
$('#update').scrollPagination({
'contentPage': 'post_update.php',
'contentData': {
data : datastring
},
'scrollTarget': $(window),
'heightOffset': 10,
'beforeLoad': function(){
$('#loading').fadeIn();
},
'afterLoad': function(elementsLoaded){
$('#loading').fadeOut();
var i = 0;
$(elementsLoaded).fadeInWithDelay();
datastring=$(".passform",elementsLoaded).serialize(); //Here's the Problem:S
}
});
$.fn.fadeInWithDelay = function(){
var delay = 0;
return this.each(function(){
$(this).delay(delay).animate({opacity:1}, 200);
delay += 100;
});};});
这是我在主要代码中的第一个表格
<form id="passform" class="passform" name="passform">
<input name="totalpage" type="hidden" value="<? echo($totalpage);?>" />
<input name="nowpage" type="hidden" value="0" />
<input name="u_id" type="hidden" value="<? echo($u_id);?>" />
</form>
这是动态添加的新表单
<form class="passform" id="passform" name="passform">
<input name="totalpage" type="hidden" value="<? echo($totalpage);?>" />
<input name="nowpage" type="hidden" value="<? echo($nowpage);?>" />
<input name="u_id" type="hidden" value="<? echo($u_id);?>" />
</form>
答案 0 :(得分:2)
更改第一个数据字符串:
var datastring=$(".passform").first().serialize();
和afterload
中的数据字符串:
datastring=$(document).find(".passform").last().serialize();
对多个elems使用相同的id无效。发生这种情况时then only first of its type will get selected.