それはviewPanelにonClientLoadなeventHandlerを追加することが可能である:はのページ番号をキャッチポケットベルビーイングクリックさ
https://xcellerant.net/2013/01/14/viewpanel_onclientload
発射さonClientLoad内ポケットベルの結果をクリックします。
質問:クリックしたページャのページ番号をキャッチすることは可能ですか?
それはviewPanelにonClientLoadなeventHandlerを追加することが可能である:はのページ番号をキャッチポケットベルビーイングクリックさ
https://xcellerant.net/2013/01/14/viewpanel_onclientload
発射さonClientLoad内ポケットベルの結果をクリックします。
質問:クリックしたページャのページ番号をキャッチすることは可能ですか?
XPageのonClientLoad CSJSコードのページャ内のすべてのページ番号にクリックイベントを追加します。
使用dojo.queryページャ内のすべてのタグを取得する:
dojo.query('[id$=pagerWithClickEvents] a').forEach(function(entry) {
entry.addEventListener("click", function() {
alert(this.innerHTML);
});
});
これのXPageは、実施例である:
<?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>
ありがとう!それはうまく動作します。しかし、私はonClientLoad eventHandlerとしてviewPanel内にdojo.queryを追加しなければなりませんでした。それ以外の場合は、最初のクリックでのみ発生し、その後のクリックでは発生しませんでした。私の次のステップは、このCSJSからSSJSを起動させることです。 –
ありがとう、これは私が逃した部分でした:) - 私は私の例のXPageを更新しました。これはビューパネルの内側のページャでも機能します。 –
あなたが/たいなぜ特定「ページが必要ページャの「番号」? –
ナビゲーションソリューションでiframeに表示されているものを同期させるためです。たとえば、をクリックすると、ページごとに10個の記事が表示されます。ページ3では、トップ記事(番号21)をアクティブにして表示する必要があります。 –