0

ページのプラグインとして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>
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 に答える