0

我有一个 jquery 对话框,其中有:

$(document).ready(function() {
if( window.location.href.indexOf( '#product' ) != -1 ) {
    var productID = window.location.href.split('-');
    showDialog(productID[1]);
}

});

function showDialog(productID)
{
    $( "#dialog-modal_"+productID ).html( "<iframe src='index.php?act=showProduct&amp;id="+productID+"' width='100%' height='100%' frameborder='0' scrolling='no'></iframe>" );
    $( "#dialog-modal_"+productID ).dialog({
    width: 790,
    height: 590,
    modal: true,
    open: function(event, ui)
    {

    }
    });

}

当我打开它时它工作正常,但如果我关闭该窗口并尝试重新打开它 - 它没有响应。

谢谢!!

4

1 回答 1

3

下面是 jQuery UI 对话框代码应该如何显示的示例。请记住,您需要一种打开对话框的方法。showDialog因此,创建一个再次调用该模态的函数。一个按钮或链接就可以了。

jQuery UI 代码

function showDialog(productID)
{
    var container = $('#dialog-modal_'+productID).html('<blah blah>');
    container.dialog({
        autoOpen: false,
        modal: true,
        width: 790,
        height: 590
    });
    container
        .dialog('option', 'title', 'Your Title')
        .dialog('option', 'buttons', {
            Close: function() {
                $(this).dialog('close');
            }
        })
        .dialog('open');
        //do open event work here
}

打开按钮的 DOM

<a href="#null" id="open">Open My Modal</a>

用于打开按钮的 jQuery

$('a#open').click(function(e) {
    e.preventDefault();
    showDialog(<your id>);
});
于 2013-01-02T18:50:22.133 回答