2013-07-22 50 views
0

在關閉時,我必須加載一個<div>,因爲我的HTML被加載到<div>中。如何在關閉jQuery對話框中加載包含HTML的div

window.location.href = $("#bodydiv").load('pages/test1.html'); 

但其實這並不工作,我們希望,因爲加載HTML的<div>實際上不是.html頁面的方式。

我該怎麼做?

代碼:

function test_() { 
    var dDialog = $('#test1').load("pages/test.html"); 
    dDialog.dialog({ 
     autoOpen: false, 
     modal: true, 
     title: "Warning", 
     buttons: [{ 
      text: "Ok", 
      click: function() { 
       $(this).dialog("close"); 
      } 
     }], 
     close: function (event, ui) { 
      /* want to load this way but this does not (will not) work */ 
      window.location.href = $("#bodyDiv").load('pages/test1.html'); 
     } 
    }); 
    dDialog.dialog('open'); 
} 

如果我只是給window.location.href = "pages/test1.html"按預期的HTML被加載,但不是<div>內我指定,與風格爲<div>一起。

+0

你有沒有試着用'$( 「#DIV」)追加(// HTML代碼)。 ;'? – Mollo

回答

0

window.location.href將窗口的URL更改爲指定的URL。如果你只是想將HTML注入到指定的div中,完全刪除window.location.href,這應該只是將HTML注入bodyDiv。

+0

嘿,已經嘗試過,已經dude ..但在這種情況下,對話框關閉後不會打開並再次觸發。接收錯誤TypeError:對象[object Object]的屬性'$'不是函數 – user1913030

+0

你想要完成什麼?將新的HTML注入到相同的對話框中? – verbanicm

0

你不想要window.location.ref,改變頁面。你只需要$(「#bodyDiv」)。load('pages/test1.html');.

jQuery(document).ready(function($) { 

function test_() { 
    var dDialog = $('#dialog'); 
    dDialog.dialog({ 
     autoOpen: false, 
     modal: true, 
     title: "Warning", 
     buttons: [{ 
      text: "Ok", 
      click: function() { 
       $(this).dialog("close"); 
      } 
     }], 
     close: function (event, ui) { 
      $("#bodyDiv").load('/'); 
     } 
    }); 
    dDialog.dialog('open'); 
} 

test_(); 
}) 

假設下面的HTML:

<div id='bodyDiv'>Hi there </div> 
<div id='dialog'>Some Dialog</div> 

看看這個小提琴(http://jsfiddle.net/WJj63/