2012-04-26 6 views
1

後、私はAJAX呼び出しが成功し、ここでpagination plugin.jQueryのは、forループのAJAX呼び出し

に結果を追加することが私のコードされた後、データが返さループにしようとしています:

var imagesPerPage = 2, pageNumber = 1; 
    var pagesContainer = $('#pagesContainer'), 
    imagesInPage = 0, 
    divPage = $("#p1"); 

    $.ajax({ 
      type: "POST", 
      url: "Default.aspx/GetImages", 
      data:{}, 
      contentType: "application/json; charset=utf-8", 
      dataType: "json", 
      success: function (response) { 

      //Here goes my for loop      

      } 
     }); 

これは私のループ場所のためにあります私はwebmethodから画像を取得し、それらをループし、改ページに追加する必要があります。ここで

for (i = 0; i < response.d.length; i++) { 
      if (imagesInPage >= imagesPerPage) { 
      imagesInPage = 1; 
      pageNumber += 1; 
      divPage = $('<div/>', { id: "p" + pageNumber }).addClass('pagedemo').hide().appendTo(pagesContainer); 
      } else { 
      imagesInPage += 1; 
      } 
} 

は私のページネーションのデフォルトの設定である:私は1枚の画像の応答を取得しようとすると、今、私の問題は、それが私の画像だけでなく、pagination.Ifそれを示していないされて

$("#pagination").paginate({ 
       count: pageNumber, 
       start: 1, 
       display: Math.min(7, pageNumber), 
       border: true, 
       border_color: '#fff', 
       text_color: '#fff', 
       background_color: 'black', 
       border_hover_color: '#ccc', 
       text_hover_color: '#000', 
       background_hover_color: '#fff', 
       images: false, 
       mouse: 'press', 
       onChange: function (page) { 
       $('#paginationdemo ._current').removeClass('_current').hide(); 
       $('#p' + page).addClass('_current').show(); 
     } 
    }); //pagination 

それが複数の場合は、ページングとイメージを表示し始めます。

スクリーンショット

enter image description here

だから誰も私が間違っているところをつもりだ私を言うことができますか?

+0

「i + = 1」の代わりに「i ++」を使用 –

+0

ajaxが1つのイメージのみを返すときにjsonオブジェクトを投稿できますか?その特定のケースでは 'd'オブジェクトが内部にないかもしれません – fcalderan

+0

@ DotNETNinja-Where?私は++を使いました。 – coder

答えて

0

ここで、1つの画像の応答を取得しようとしていますか?あなたがもし状態でこれをやろうとしている場合

imagesInPage> = imagesPerPage

がfalseと評価されるため、それが唯一の応答のために動作しませんようimagesPerPage = 2とimagesInPage = 0;

また、あなたの応答タイプがJSONであり、これはあなたの問題を解決しない場合は、

$.each(response,function(index,data){ 
    //check each image here 
     // data.id gives you the id of each json object in the response 
}) 
+0

@ Drako - 私は同じことを試みましたが、成功しませんでした。 – coder

0

を使用してみてくださいこれは、最近、私は同じ問題に会ったあなたのページネーションの問題です。これを修正するには、条件が必要です。応答の長さを確認してください。それが1ならば、いくつかのデフォルト値を加えてください。