0

jQuery プラグイン jPaginate では、子オブジェクトの数は常に、このコードによって決定される 1 の値を返します (jPaginate.js の 45 ~ 48 行目)。

//getting the amount of elements inside parent element
var number_of_items = obj.children().size();
//calculate the number of pages we are going to have
var number_of_pages = Math.ceil(number_of_items/show_per_page);

document.ready 関数のヘッダーでスクリプトを呼び出します。

$("#content").jPaginate({
items: 4,
pagination_class: "pagination",
minimize: true                    
});

そして、次のようにページ分割したいテーブル行の周りに id="content" で div をラップしました:

    <div id="content">
        <table class="stripeMe center box-shadow-inner">
            <?php foreach ($invoices as $invoice) { ?>
                <tr>
                    <td>
                        <a href='<?php echo $_SERVER['PHP_SELF']; ?>/retrieve?class=InvoiceLineItems&amp;id=<?php echo $invoice['invoice_id']; ?>'><?php echo $invoice['invoice_number']; ?></a>&nbsp;<?php echo $invoice['customer_name'] ?>&nbsp;<?php echo $invoice['invoice_date'] ?> 
                    </td>
                </tr>   
            <?php } ?>    
        </table>
    </div>

私が得るのは、ページネーションセレクターが「前」1「次」に設定された、1ページの長いレコードです。チェックを 3 倍にし、コードを削除して置き換え、できる限りコードをデバッグしました。なぜnumber_of_items1に設定されるのか、まだ判断できません。

どんな助けでも大歓迎です。ありがとう。

4

1 に答える 1

0

答えはセレクターによるものです。

var number_of_items = obj.children().size();

objは、プラグインに渡す#contentです。したがって、obj.children() は、obj 内の最初の子であるtableのみを返します。配列には項目が 1 つしかないため、サイズは 1 です。

于 2012-07-11T19:19:56.760 に答える