0

我在我的页面中使用滚动分页作为插件,并且我使用表单将值传递给我正在获取结果的 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>
4

1 回答 1

2

更改第一个数据字符串:

var datastring=$(".passform").first().serialize();

这个数据串在afterload

datastring=$(document).find(".passform").last().serialize();

笔记:

对多个元素使用相同的 id 是无效的。当这件事发生时then only first of its type will get selected.

于 2013-02-19T07:14:37.157 回答