2014-02-22 259 views
0

我使用jquery模式poup打開一個頁面(從父頁面,a.spx,IAM打開子頁面,b.aspx例子。)關閉按鈕點擊

以下是代碼

<script type="text/javascript"> 
    $(function() { 

     $("[id$='lnkbtn']").click(function() { 
      var str = $(this).attr("details"); 
      var page = ('../b.aspx?no=' + str); 
      var $dialog = $('<div></div>').html('<iframe style="border: 0px; " src="' + page + '" width="100%" height="100%"></iframe>').dialog({ autoOpen: false, modal: true, height: 500, width: 900}); 
      $dialog.dialog('open'); 
     }); 
    }); 
</script> 

我想在用戶單擊模式彈出窗口(IE b.aspx)上的關閉按鈕(x)時刷新我的父頁面。

我去了以下鏈接,但我沒有得到預期的操作。

http://jsfiddle.net/XM2FH/

下面是根據我的需求量的修改後的代碼。

<script type="text/javascript"> 
    $(function() { 
     $('#dialog').dialog({ 
      open: function() //runs every time this dialog is opened 
      { 
       //var $dialog = $(this); 
       var page = ('../../a/bc.aspx'); 
       var $dialog = $('<div></div>').html('<iframe style="border: 0px; " src="' + page + '" width="100%" height="100%"></iframe>').dialog({ autoOpen: false, modal: true, height: 650, width: 1000 }); 
       if (!$dialog.data('titleCloseBound')) { 
        $dialog 
        .data('titleCloseBound', true) //flag as already bound 
        .closest('div.ui-dialog') //traverse up to the outer dialog wrapper 
         .find('a.ui-dialog-titlebar-close') //search within it for the X 
          .bind('click', function(e) //bind it 
          { 
           alert('hi'); 
           e.preventDefault(); 
           __doPostBack('', ''); 
          }); 
       } 
      } 
     }); 
    }); 

回答

0

http://api.jqueryui.com/dialog/#event-close

$('#dialog').dialog({ 
    close: function(event, ui) { 
    __doPostBack('', ''); 
    } 
}); 

你的第二個代碼是錯誤的,這misleading.try:

$(function() { 
    $("[id$='lnkbtn']").click(function() { 
     var str = $(this).attr("details"); 
     var page = ('../b.aspx?no=' + str); 
     var $dialog = $('<div></div>') 
      .html('<iframe style="border: 0px; " src="' + page + '" width="100%" height="100%"></iframe>') 
      .dialog({ 
       modal: true, 
       height: 500, 
       width: 900, 
       close:function(){ 
        window.location.reload();//or your __doPostBack() 
       } 
      }); 
    }); 
}); 
+0

THKS我試過,但reslt相同 –

+0

原因是IAM的模式打開網頁popup –

+0

我不知道究竟是什麼__doPostBack('','');劑量,但我更新你的小提琴頁和關閉事件工作得很好,我不知道什麼選擇你什麼? – Exlord