捕捉被点击的寻呼机的页码 [英] Catching the Page Number of a Pager Being Clicked

查看:29
本文介绍了捕捉被点击的寻呼机的页码的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

可以将 onClientLoad eventHandler 添加到 viewPanel:

这个 XPage 是一个工作示例:

<xp:viewPanel行=3"值="#{view1}"id="viewPanel1"><xp:this.facets><xp:寻呼机部分刷新=真"布局=上一组下一个"xp:key="headerPager"id="pagerWithClickEvents"></xp:pager></xp:this.facets><xp:this.data><xp:dominoView变量=视图1"数据库名称=名称.nsf"viewName="人"></xp:dominoView></xp:this.data><xp:viewColumn列名="$17"id="viewColumn1"><xp:viewColumnHeader值=名称"id="viewColumnHeader1"></xp:viewColumnHeader></xp:viewColumn><xp:viewColumn列名="$16"id="viewColumn4"><xp:viewColumnHeader值="电子邮件"id="viewColumnHeader4"></xp:viewColumnHeader></xp:viewColumn><xp:eventHandler事件="onClientLoad"提交=假"><xp:this.script><![CDATA[dojo.query('[id$=pagerWithClickEvents] a').forEach(function(entry) {entry.addEventListener("点击", function() {警报(this.innerHTML);});});]]></xp:this.script></xp:eventHandler></xp:viewPanel></xp:view>

It is possible to add an onClientLoad eventHandler to a viewPanel:

https://xcellerant.net/2013/01/14/viewpanel_onclientload

Clicking a Pager results in the onClientLoad being fired.

Question: is it possible to catch the Page Number of the Pager being clicked?

解决方案

Add an on click event to every page number within pager in XPage's onClientLoad CSJS code.
Use dojo.query to get all a-tags within pager:

    dojo.query('[id$=pagerWithClickEvents] a').forEach(function(entry) {
        entry.addEventListener("click", function() {
            alert(this.innerHTML);
        });
    });

This XPage is a working example:

<?xml version="1.0" encoding="UTF-8"?>
<xp:view
    xmlns:xp="http://www.ibm.com/xsp/core">
    <xp:viewPanel
        rows="3"
        value="#{view1}"
        id="viewPanel1">
        <xp:this.facets>
            <xp:pager
                partialRefresh="true"
                layout="Previous Group Next"
                xp:key="headerPager"
                id="pagerWithClickEvents">
            </xp:pager>
        </xp:this.facets>
        <xp:this.data>
            <xp:dominoView
                var="view1"
                databaseName="names.nsf"
                viewName="People">
            </xp:dominoView>
        </xp:this.data>
        <xp:viewColumn
            columnName="$17"
            id="viewColumn1">
            <xp:viewColumnHeader
                value="Name"
                id="viewColumnHeader1">
            </xp:viewColumnHeader>
        </xp:viewColumn>
        <xp:viewColumn
            columnName="$16"
            id="viewColumn4">
            <xp:viewColumnHeader
                value="E-Mail"
                id="viewColumnHeader4">
            </xp:viewColumnHeader>
        </xp:viewColumn>
        <xp:eventHandler
            event="onClientLoad"
            submit="false">
            <xp:this.script><![CDATA[
            dojo.query('[id$=pagerWithClickEvents] a').forEach(function(entry) {
                entry.addEventListener("click", function() {
                    alert(this.innerHTML);
                });
            });
        ]]></xp:this.script>
        </xp:eventHandler>
    </xp:viewPanel>
</xp:view>

这篇关于捕捉被点击的寻呼机的页码的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆