2012-07-11 21 views
0

在jQuery插件,jPaginate,子对象的数量是(线45-48在jPaginate.js)总返回由该代码确定的值1:jPaginate获得不正确子计数

//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 =“内容”一个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> 

我得到的是一页长的记录,分页选择器设置为'上一个''下一个'。我三倍检查,取代&,并尽我所能调试代码。我现在还不能确定为什么number_of_items被设置为1

任何帮助表示赞赏。 谢谢。

回答

0

答案是由于选择器。

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

OBJ#内容,你的被传递到插件。所以obj.children()只返回第一个孩子,,在obj内。由于数组中只有一个项目,所以它的大小为1.

+0

我尝试将ID放在表格元素上。那也行不通。但桌子上会有所有的孩子,对吧?或者表格元素不能接受ID。任何想法如何纠正? – 2012-07-11 20:12:14

+0

我会给你信贷。由于时间限制,我选择了一个不太优雅的解决方案。如果我有机会,我会执行此操作。 – 2012-07-12 14:20:59