如何使用Jquery获取dataTable的当前页码

时间:2014-01-31 14:00:34

标签: jquery jsf datatable richfaces datascroller

我已尝试过提供的解决方案 rich:dataTable paging - marking visited pages of rich:datascroller 但它不适用于富人脸4.3.4。

我也尝试过数据滚动的页面属性。这是我的代码实现datascroller的页面属性。

 <h:form id="mainForm">
     <rich:dataScroller for="itemDataTable" maxPages="30" execute="itemDataTable" page="#{itemsController.pageIndex}"/>                                 
     <rich:dataTable rowKeyVar="rkVar" rows="15" id="itemDataTable" value="#{itemsController.itemDM}" var="r">
     <f:facet name="footer">
        <h:outputText id="pageNumberOutPutText" value="#{itemsController.pageIndex}"/>
     </f:facet>
        <h:column id="setValue">
            <h:inputText id="finalItem" valueChangeListener="#{itemsController.recalculate()}" value="#{r.items.prices}"/>
        </h:column>
        ...
        ...
    <!-- other columns --> 
    </rich:dataTable>
    <rich:dataScroller for="itemDataTable" maxPages="30" execute="itemDataTable" page="#{itemsController.pageIndex}"/>                                      
</h:form>

我在itemsController类中有各自的getter和setter,并且具有以下范围:

@ManagedBean
@ViewScoped

将pageIndex设置为1。

private int pageIndex = 1;

我尝试使用以下方式提醒当前页码:

alert('You are in page : ' + $('#mainForm\\:itemDataTable\\:pageNumberOutPutText').val());

但它仅提醒1.即使我点击下一页或点击其他页面,数据表页脚中的outputText也只显示1。

最重要的是,我想做的就是使用JQuery提醒当前页码。如果可能的话,我也不想为此使用getter和setter。我真的想知道如何使用Jquery获取当前页码。

2 个答案:

答案 0 :(得分:1)

指定要使用ajax请求重新呈现的区域以更新视图的相应部分。 E.g:

<rich:dataScroller render="pageNumberOutPutText"/>

答案 1 :(得分:0)

当前页码位于支持datascroller的JS对象中。你可以用它来获得它:

#{rich:component('scrollerId')}.currentPage