在xpages中加载引导程序模态

帕特里克·克温顿

在一个应用程序中,我有一个重复控件,对于重复中的每个条目,我都有一个相应的引导对话框模态。

当用户使用提供的网址(包括哈希值)打开xpage时,我想打开某个模式。哈希值对应于模式的ID,例如#view:_id1:_id152:objRepeatList:1:_id193:_id200:bootstrapModal

但是我注意到命令$('#view:_id1:_id152:objRepeatList:1:_id193:_id200:bootstrapModal')。modal('show'); 没有提供任何结果。

为了测试show()函数,我制作了一个简单的测试脚本,该脚本获取DOM中的第一个模式组件并尝试将其打开:

$( document ).ready(function() {    
    var cardType= '#{javascript:SSApp.getCurrentObjectCollectionCardType()}';       
    if (cardType=="cardPicture"){   
        var modals = $(".modal");
        alert(modals.length);       
        if (modals.length > 0){
            var firstModal = modals.first();
            alert("we got one");
            var firstModalId = "#" + firstModal.attr('id');
            alert( firstModal.attr('id') );             
            $(firstModalId).modal('show');
        }       
    }
});

我收到所有警报,但最后一个命令行始终给出零结果。

因为xpage可以部分刷新,所以我也尝试了用于更新页面的eventHandler的onComplete事件,但是似乎要进行大量缓存,然后四处走动,有时cardType会以某种方式存储在内存中:

<xp:eventHandler event="onclick" submit="true"
                            refreshMode="partial" refreshId="row-body">
                            <xp:this.action>
                                <![CDATA[#{javascript:sessionScope.put("collDisplay","cards");
SSApp.currentObject.loadRelations(relation.category);}]]>
                            </xp:this.action>
                            <xp:this.onComplete><![CDATA[var cardType= '#{javascript:SSApp.getCurrentObjectCollectionCardType()}';

    if (cardType=="cardPicture"){


        var modals = $(".modal");
        alert(modals.length);

        if (modals.length > 0){
            var firstModal = modals.first();
            alert("we got one");
            var firstModalId = "#" + firstModal.attr('id');
            alert( firstModal.attr('id') );

            $(firstModalId).modal('show');
        }

    }]]></xp:this.onComplete>
                        </xp:eventHandler>

有人知道我该怎么做吗?

特洛伊·雷默(Troy Reimer)

问题是jQuery由于id中的“:”而找不到对话框。他们必须逃脱。当您需要检索XPages ID时,可以使用以下一个小功能代替$(字符Mark Roden所有)。

function x$(id){
    id = id.replace(/:/gi, "\\:");
    return ($("#" + id));
}

当需要XPages项时,请使用此函数代替$()。

x$("view:_id1:_id152:objRepeatList:1:_id193:_id200:bootstrapModal").modal('show');

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在引导程序中以模态方式在轮播中加载特定的幻灯片

来自分类Dev

从Ajax更改按钮加载引导程序模态

来自分类Dev

xpages 中的引导程序

来自分类Dev

我如何在 angular 的子组件中加载引导程序?

来自分类Dev

引导程序-模态无效

来自分类Dev

dropzone.js引导程序模态-错误:模态加载时,已经附加了dropzone-

来自分类常见问题

尝试使引导程序模态更宽

来自分类Dev

滚动引导程序3模态

来自分类Dev

关闭特定的引导程序模态

来自分类Dev

引导程序模态元素选择

来自分类Dev

退出模态关闭引导程序

来自分类Dev

确认模态 jquery 引导程序

来自分类Dev

显示模态引导程序的条件

来自分类Dev

Laravel在布尔中加载模态的问题

来自分类Dev

同时在SQL中加载Bootstrap模态

来自分类Dev

如何将AngularJS自定义指令注入到引导程序预加载的模态中?

来自分类Dev

show.bs.modal 不会在外部加载的引导程序 4 模态中触发

来自分类Dev

在活动选项卡(引导程序)中加载Morris.js图

来自分类Dev

在两个不同的 MODAL BODY 引导程序中加载同一个表

来自分类Dev

加载内容后显示引导模态

来自分类Dev

无法使用Ajax数据加载引导模态

来自分类Dev

查找引导加载程序

来自分类Dev

引导加载程序的定义

来自分类Dev

'隐形'引导加载程序

来自分类Dev

引导程序自定义模态效果

来自分类Dev

Ajax响应后关闭引导程序模态

来自分类Dev

如何避免在引导程序中关闭模态

来自分类Dev

工具提示+模态输入按钮-引导程序

来自分类Dev

如何保存和关闭引导程序模态?