从另一个页面打开一个bootstrap模式

时间:2014-03-05 16:16:20

标签: javascript jquery html twitter-bootstrap modal-dialog

我有一个链接列表,每个链接都打开自己的模态。这些模态内容中的每一个都显示一个html文件。这是一个样本;

<div id="how-rtm-works" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
  <div class="modal-dialog">
<div class="modal-content">
 <div class="modal-header">
<button type="button" class="close" data-dismiss="modal">&times;</button>
<h1 id="myModalLabel">How Right to Manage works</h1>
</div>
<div class="modal-body" id="utility_body">
<p>One fine body…this is getting replaced with content that comes from passed-in href</p>
</div>
<div class="modal-footer">
<button class="btn" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
<li><a data-target="#how-rtm-works" href="modal-content/how-RTM-works.html" role="button" data-toggle="modal">How Right to Manage works</a></li>

因为有多个模态,每个模态都有自己的ID,在数据目标中引用。

任何人都可以告诉我如何从其他页面定位这些模态,或者在我的情况下所有页面都会在网站页脚导航中链接。

2 个答案:

答案 0 :(得分:2)

你的模态有ID,我想你可以通过在链接的末尾添加#how-rtm-works来触发它们 例如,如果你有一个模态调用 id="My_Modal" 你可以建立一个链接 <a href="your_link/#My_Modal">Link me to the modal</a> 如果那是你的问题,我想这可以帮到你!

答案 1 :(得分:2)

您将使用的第一页:

<a href="second.html#myModalLabel" class="btn btn-primary"> Open Modal </a>

在第二页,您将插入您的模态和以下脚本:

        <script type='text/javascript'>
            (function() {
                'use strict';
                function remoteModal(idModal){
                    var vm = this;
                    vm.modal = $(idModal);

                    if( vm.modal.length == 0 ) {
                        return false;
                    }

                    if( window.location.hash == idModal ){
                        openModal();
                    }

                    var services = {
                        open: openModal,
                        close: closeModal
                    };

                    return services;
                    ///////////////

                    // method to open modal
                    function openModal(){
                        vm.modal.modal('show');
                    }

                    // method to close modal
                    function closeModal(){
                        vm.modal.modal('hide');
                    }
                }
                Window.prototype.remoteModal = remoteModal;
            })();

            $(function(){
                window.remoteModal('#myModalLabel');
            });
        </script>