2009-10-06 11 views
8

うまくいけば、これは簡単に解決できるものです。私はjQuery Paginationプラグインを理解するために少し問題があります。jQueryページ分割プラグイン

私がしようとしているのは、PHPファイルを読み込んで結果を改ページすることだけです。私は彼らの例を外そうとしていますが、私が探している結果を得ていません。ここで

ではJavaScriptです:

function pageselectCallback(page_index, jq){ 
      var new_content = $('#hiddenresult div.result:eq('+page_index+')').clone(); 
      $('#Searchresult').empty().append(new_content); 
      return false; 
     } 
     function initPagination() { 
      var num_entries = $('#hiddenresult div.result').length; 
      // Create pagination element 
      $("#Pagination").pagination(num_entries, { 
       num_edge_entries: 2, 
       num_display_entries: 8, 
       callback: pageselectCallback, 
       items_per_page:3 
      }); 
     }  
     $(document).ready(function(){  
      $('#hiddenresult').load('load.php', null, initPagination); 
     });  

はここ(PHPがロードされた後に)私のHTMLです:

 <div id="Pagination" class="pagination"> </div> 
     <br style="clear:both;" /> 
     <div id="Searchresult"> </div> 

     <div id="hiddenresult" style="display:none;"> 
     <div class="result">Result #1</div> 
     <div class="result">Result #2</div> 
     <div class="result">Result #3</div> 
     <div class="result">Result #4</div> 
     <div class="result">Result #5</div> 
     <div class="result">Result #6</div> 
     <div class="result">Result #7</div> 
     </div> 

基本的に、私はページごとに "3" の項目を表示しようとしているが、これいます動かない。私はどこかで、私のJSでforループを作成する必要があると仮定していますが、私はそうする方法を混同しています。 The documentation can be found here

+0

はあなたが、私はすべてのスクリプトを実行しようとしたとして、ちょっと男性が、私は同じ問題を抱えていますここでは私はそれを作った あなたの問題にこのヘルプを願っています http://bit.ly/free-paginationそれはプラグインではなく、本当に便利なカスタムスクリプトです –

答えて

18

forループを使用する必要はなく、jQueryのslice()メソッドと数学のビットを使用するだけです。

私はJSビンに取り組んでデモホステッドました:(http://jsbin.com/upuwe/edit経由で編集可能)http://jsbin.com/upuwe

ここで変更したコードです:

var pagination_options = { 
    num_edge_entries: 2, 
    num_display_entries: 8, 
    callback: pageselectCallback, 
    items_per_page:3 
} 
function pageselectCallback(page_index, jq){ 
    var items_per_page = pagination_options.items_per_page; 
    var offset = page_index * items_per_page; 
    var new_content = $('#hiddenresult div.result').slice(offset, offset + items_per_page).clone(); 
    $('#Searchresult').empty().append(new_content); 
    return false; 
} 
function initPagination() { 
    var num_entries = $('#hiddenresult div.result').length; 
    // Create pagination element 
    $("#Pagination").pagination(num_entries, pagination_options); 
} 
+0

ブライアン、それは最高でした。 slice()メソッドを指摘してくれてありがとう! – Dodinas

+0

@Dodinas ... このclone()メソッドはIEで動作しますか? – SpikETidE

+0

@brainpeiris私はページングプラグインで苦労しています。http://stackoverflow.com/questions/2505435/good-jquery-pagination-plugin-to-use-with-json-data and http://stackoverflow.com/questions/ 2523075/generate-page-numbers-using-javascript-jquery –