从重复控件打开 Bootstrap 模态(对话框)
Opening a Bootstrap modal (dialog) from a repeat control
我在从重复控件调用 bootstrap 控件时遇到一些问题。
在显示对话框之前,我想设置一些 viewscope 变量以根据调用对话框的行用新内容更新对话框。
这是我试过的三个按钮:
<button type="button" class="btn btn-info" data-toggle="modal" data-target="#myModal">Open 1</button>
<xp:button value="Open 2" id="button1"
styleClass="btn btn-info">
<xp:this.attrs>
<xp:attr name="data-toggle" value="modal"></xp:attr>
<xp:attr name="data-target"
value="#myModal">
</xp:attr>
</xp:this.attrs>
<xp:eventHandler event="onclick" submit="true"
refreshMode="partial" refreshId="dialog" execMode="partial" immediate="true">
</xp:eventHandler></xp:button>
<xp:link escape="true" text="Open 3" id="link1" styleClass="btn btn-info">
<xp:this.attrs>
<xp:attr name="data-toggle" value="modal"></xp:attr>
<xp:attr name="data-target"
value="#myModal">
</xp:attr>
</xp:this.attrs>
</xp:link>
第一个按钮是 "normal" html 打开对话框。
按钮 2 使用 xp:button 和部分刷新。
按钮 3 xp:link 没有部分刷新。
按钮 1 和 3 显示对话框模式。按钮 2 仅显示 freeze/tinted 页面。
所以看起来部分刷新是显示拦截器,我似乎需要在显示之前更新模态中的内容。
是否有另一种方法来建立更新并从重复控件打开模式?
您可以向 运行 部分刷新的事件处理程序添加一个 onComplete 事件,并通过 javascript.
显示模式
<xp:button value="Open 2" id="button1" styleClass="btn btn-info">
<xp:eventHandler
event="onclick"
submit="true"
refreshMode="partial"
refreshId="dialog"
execMode="partial"
immediate="true"
onComplete="$('#myModal').modal('show');">
</xp:eventHandler>
</xp:button>
这样在部分刷新执行完成后会显示对话框。
我在从重复控件调用 bootstrap 控件时遇到一些问题。
在显示对话框之前,我想设置一些 viewscope 变量以根据调用对话框的行用新内容更新对话框。
这是我试过的三个按钮:
<button type="button" class="btn btn-info" data-toggle="modal" data-target="#myModal">Open 1</button>
<xp:button value="Open 2" id="button1"
styleClass="btn btn-info">
<xp:this.attrs>
<xp:attr name="data-toggle" value="modal"></xp:attr>
<xp:attr name="data-target"
value="#myModal">
</xp:attr>
</xp:this.attrs>
<xp:eventHandler event="onclick" submit="true"
refreshMode="partial" refreshId="dialog" execMode="partial" immediate="true">
</xp:eventHandler></xp:button>
<xp:link escape="true" text="Open 3" id="link1" styleClass="btn btn-info">
<xp:this.attrs>
<xp:attr name="data-toggle" value="modal"></xp:attr>
<xp:attr name="data-target"
value="#myModal">
</xp:attr>
</xp:this.attrs>
</xp:link>
第一个按钮是 "normal" html 打开对话框。
按钮 2 使用 xp:button 和部分刷新。
按钮 3 xp:link 没有部分刷新。
按钮 1 和 3 显示对话框模式。按钮 2 仅显示 freeze/tinted 页面。
所以看起来部分刷新是显示拦截器,我似乎需要在显示之前更新模态中的内容。
是否有另一种方法来建立更新并从重复控件打开模式?
您可以向 运行 部分刷新的事件处理程序添加一个 onComplete 事件,并通过 javascript.
显示模式<xp:button value="Open 2" id="button1" styleClass="btn btn-info">
<xp:eventHandler
event="onclick"
submit="true"
refreshMode="partial"
refreshId="dialog"
execMode="partial"
immediate="true"
onComplete="$('#myModal').modal('show');">
</xp:eventHandler>
</xp:button>
这样在部分刷新执行完成后会显示对话框。