サイトの例に従うだけで、XPages で Twitter Bootstrap モーダルを機能させるのは非常に簡単です。ただし、表示される前に SSJS を使用してモーダルの内容に影響を与えたい場合は機能しないようです。点滅しているように見え、背景だけが表示されることがよくあります。
XPages の完全更新または部分更新の使用に問題があるようです。
私はそれを「正常に」動作させようとしましたが、jQuery とリモート サービスを使用して変更を加えようとしましたが、うまくいきませんでした。
以下は、リモート サービスのコードです。
ダイアログを表示する前にモーダル コンテンツに影響を与えたり、更新したりする方法の例を教えてください。
<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core"
xmlns:xc="http://www.ibm.com/xsp/custom"
xmlns:xe="http://www.ibm.com/xsp/coreex">
<xc:layout_Header></xc:layout_Header>
<xp:link escape="true" text="Link" id="link1" value="#myModal">
<xp:this.attrs>
<xp:attr name="role" value="button"></xp:attr>
<xp:attr name="data-toggle" value="modal"></xp:attr>
</xp:this.attrs>
</xp:link>
<xp:br></xp:br>
<xp:panel id="myPanel">
<xc:bs_Modal idName="myModal">
<xp:this.facets>
<xp:panel xp:key="facet_1">
My Dialog
<xp:br></xp:br>
<xp:br></xp:br>
Time
<xp:text escape="true" id="computedField1"
value="#{viewScope.vsTime}">
<xp:this.converter>
<xp:convertDateTime type="both"></xp:convertDateTime>
</xp:this.converter>
</xp:text>
</xp:panel>
</xp:this.facets>
</xc:bs_Modal>
</xp:panel>
<xp:br></xp:br>
<xe:jsonRpcService id="jsonRpcService1" serviceName="testService">
<xe:this.methods>
<xe:remoteMethod name="setTime">
<xe:this.script><![CDATA[viewScope.put("vsTime", @Now())]]></xe:this.script>
</xe:remoteMethod>
</xe:this.methods></xe:jsonRpcService>
<xp:br></xp:br>
<xp:scriptBlock id="scriptBlock1">
<xp:this.value><![CDATA[$('#myModal').on('show', function () {
testService.setTime();
var id = "#{id:myPanel}"
XSP.partialRefreshGet(id)
})]]></xp:this.value>
</xp:scriptBlock></xp:view>