如何从AJAX打开的Modal中的链接加载jQuery Modal

时间:2015-08-28 09:41:26

标签: javascript jquery ajax modal-dialog

我已经阅读了一些答案,但没有一个与我的问题相符:

  1. 我想从一个AJAX请求中将html加载到一个Modal中 - (我已经拥有它并且效果很好)

  2. 我想点击已加载模式中的一个链接,然后打开另一个带有更多详细信息的模态,这些模式可能有更多链接到Modals再次打开。 - 然后我可以在页面上拖动它们并打开很多。

  3. 很明显,当我点击加载的Modal中的链接时,它会转到该页面,而不是在另一个模态中打开它。

    <script type="text/javascript">
    $(document).ready(function() {
        $('a.open').each(function() {
            var $link = $(this);
            var $dialog = $('<div></div>')
                .load($link.attr('href'))
                .dialog({
                    autoOpen: false,
                    title: $link.attr('title'),
                    width: 600
                });
    
            $link.click(function() {
                $dialog.dialog('open');
                return false;
            });
        });
    });
    

    然后我的HTML是

    <a href="reports?report=cows" class="open" title="Cows" class="open" >List Cows</a>
    

    在加载的Modal中,html可以是:

    <a href="reports?report=cow_detail" class="open" title="Cow Detail" class="open" >Cow #43</a> <br />...
    

    然后这会打开另一个带有细节的Modal。

    因此,我希望能够在模态加载后加载第一个JavaScript来获取新创建的类=&#34;打开&#34;在文档加载时不会看到的标记。

    非常感谢!

1 个答案:

答案 0 :(得分:0)

加载模态窗口时使用代码。

$('#myModal').on('show.bs.modal', function (e) {
    $('a.open').each(function() {
        var $link = $(this);
        var $dialog = $('<div></div>')
            .load($link.attr('href'))
            .dialog({
                autoOpen: false,
                title: $link.attr('title'),
                width: 600
            });

        $link.click(function() {
            $dialog.dialog('open');
            return false;
        });
    });
});