只需按照網站上的示例獲取可在XPages中工作的Twitter Bootstrap模式,非常簡單。但是,如果您希望在顯示之前使用SSJS來影響模態的內容,它似乎不起作用。它似乎閃光,並且往往只是顯示背景。XPages和Twitter Bootstrap Modal在使用SSJS時不起作用
這似乎是使用XPage完全或部分刷新的問題。
我試着讓它工作「通常」,我試過使用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>
嘗試使用部分刷新的oncomplete事件來觸發模式對話框,在觸發模態前使內容可用 – 2013-05-14 04:23:27