Jquery dialog to open another page

39,544

Solution 1

You can use jQuery's .load() method to load a page into a dialog, here's how:

$("#dialog").dialog({
    autoOpen: false,
    position: 'center' ,
    title: 'EDIT',
    draggable: false,
    width : 300,
    height : 40, 
    resizable : false,
    modal : true,
});

$("#dialog_trigger").click( function() {
    $("#dialog").load('path/to/file.html', function() {
        $("#dialog").dialog("open");
    });
})

This assumes the dialog has an ID of 'dialog' and that there's another element with ID of 'dialog_trigger' that is clicked to open it. You'd put both of these into your document's ready function so that the dialog is made on page-load, if it isn't, it will cause a slight-but-noticeable delay for the user as it's made.

Solution 2

You can also do like this...

Create dialog page

<div id="MyDialogID"  title="My Dialog Title"></div>

Create a link (when we click on that link it will open the dialog)

<a id="MyLinkToDialogID" href="Path to Dialog Page">Open My Dialog</a>

Initialise the dialog (create an event between the link and the dialog)

$('#MyLinkToDialogID').each(function () {
    var $link = $(this);

    $.post($link.attr('href'), function (data) {
        var $dialog = $(data)
            .filter('#MyDialogID')
            .dialog({
                autoOpen: false,
                resizable: false,
                height: 240,
                width: 370,
                modal: true
            });

            $link.click(function () {
               $dialog.dialog("open");
               $dialog.css("height", "240");
               $dialog.css("width", "370px");
               $dialog.dialog({ position: 'center' });

               return false;
            });
    });
});
Share:
39,544
Hulk
Author by

Hulk

Updated on July 09, 2022

Comments

  • Hulk
    Hulk almost 2 years

    There is a page as transaction.html

    How to open this page in a popup in another page say show_transactions.html in a jquery dialog

           $dialog.html()  //open transaction.html in this dialog
         .dialog({
            autoOpen: true,
            position: 'center' ,
            title: 'EDIT',
            draggable: false,
            width : 300,
            height : 40, 
            resizable : false,
            modal : true,
         });
         alert('here');
         $dialog.dialog('open');
    

    This code is present in show_transactions.html

    Thanks..