2014-02-05 227 views
0

我試圖將編號鏈接打印到搜索結果中。多次打印出陣列

如果總共有5頁,我只想要5個鏈接顯示,如果有6個鏈接只有6個等。一次只能顯示10個鏈接。

下面我將該值設置爲5頁的搜索結果(稍後我會從應用程序的另一部分加載此數字)。如何根據'allPages'的值打印出鏈接的數量?

「smallPages」就在那裏,當我將在後面追加「>」如果有搜索超過10頁的結果

function updatePage() { 
      var allPages = 5; 
      var smallPages = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; 

      if (allPages <= 10) { 
       for (var i = 1; i < 10; i++) { 
        jQuery.each(allPages, function (index, value) { 
         $('#pages').append("<a href='#'> " + value + '</a>'); 
        }) 
       } 
      } 
+2

刪除你的for語句或'jQuery.each'函數。你在同一個數組上嵌套兩次迭代。 –

+0

即使你保存它,你會循環一個變量而不是數組或對象。 – Andy

+0

With for(var i = 1; i " + allPages + '');}我只得到5號打印出的4次 – user3214545

回答

0

有很多混亂的循環,並檢查正在進行中。我會做一個for循環結構如下所示:

for(var i = 0; i < smallPages.length && i < allPages; i++) 
    $('#pages').append("<a href='#'> " + smallPages[i] + '</a>'); 

這將檢查您不超過smallPages結束時運行,並且比在所有頁中指定你不添加更多。

編輯: 圖我也會添加爲什麼你有代碼不工作。 jQuery.each遍歷數組中的每個元素,並且給它一個整數。

其次,如果您更改數組或在最終程序中使用.length長度數組,則應循環使用硬編碼數字'10'。