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 に答える