【问题标题】:Want to be on Child Dialog on Page Refresh in jQuery想要在 jQuery 中的页面刷新时出现在子对话框上
【发布时间】:2015-02-19 06:44:13
【问题描述】:

这是我的工作代码:

Working fiddle

 var dialog = $( "#dialog" ).dialog({
      autoOpen: false,
      modal: true,
      buttons: {
        Add: function() {
          addTab();
          $( this ).dialog( "close" );
        },
        Cancel: function() {
          $( this ).dialog( "close" );
        }
      },
      close: function() {
        form[ 0 ].reset();
      }
    });

当我单击添加选项卡时,它将显示一个 jQuery 对话框,并且在页面刷新时我看不到对话框。

我想在页面刷新时保留 jQuery 对话框。

这种情况该怎么办?

【问题讨论】:

  • @Kartikeya:非常感谢。您能否解释一下方法并发布答案,以便我接受。 :)

标签: jquery jquery-ui reload jquery-dialog


【解决方案1】:

您可以使用sessionStorage 来实现此目的,如下所示(我只是在此处包含代码的必需部分):-

$(function() { 

var dialog = $( "#dialog" ).dialog({
  autoOpen: false,
  modal: true,
  buttons: {
    Add: function() {
      addTab();
      $( this ).dialog( "close" );
        sessionStorage.setItem('flag','F') //set sessionStorage item to F
    },
    Cancel: function() {
      $( this ).dialog( "close" );
        sessionStorage.setItem('flag','F') //set sessionStorage item to F
    }
  },
  close: function() {
    form[ 0 ].reset();
      sessionStorage.setItem('flag','F') //set sessionStorage item to F
  }
});

if(sessionStorage.getItem('flag') == 'T') 
{
   dialog.dialog( "open" ); // if sessionstorage's flag is T then open the dialog on page load
}

// addTab button: just opens the dialog
$( "#add_tab" )
  .button()
  .click(function() {
    dialog.dialog( "open" );
      sessionStorage.setItem('flag','T')  // set sessionStorage item to T
  });

 $( "#add_tab_link" ).click(function(e) {
    e.preventDefault();
    //alert('clicked');
    dialog.dialog( "open" );
    sessionStorage.setItem('flag','T')  // set sessionStorage item to T
  });
});

Working Fiddle

【讨论】:

    猜你喜欢
    • 2011-07-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-28
    • 2013-03-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多