2012-11-16 212 views
0

我想在我的web應用程序中實現一個jQuery UI對話框,但它似乎根本不起作用。我正在使用PHP。jquery ui對話框不能打開

我有一個PHP代碼,它定義了對話框和一個按鈕,點擊後會打開對話框。

<div id="dialog">This should show up </div> 
<button id="opener">Open Dialog</button> 

我有一個單獨的JS文件和準備函數內部,我有以下的代碼

$("#dialog").dialog({autoOpen:false}); 


$("#opener").click(function() 
{ 
    $("#dialog").dialog("open"); 
}); 

在點擊按鈕,對話框不似乎打開。我使用

  • jQuery的V1.7.1
  • jQuery UI的V 1.8.20

誰能幫我爲什麼它是行不通的。

此外,我嘗試將autoOpen設置爲true,並且對話框似乎在頁面加載時工作正常,但在單擊時無法正常工作。

感謝烏拉圭回合的幫助

+0

控制檯日誌中是否有任何錯誤?按F12,進入「控制檯」標籤,然後嘗試點擊按鈕。 – Maccath

+0

沒有錯誤,警告或日誌。但我只是試過$(「#dialog」)。dialog(open); (沒有引號打開,似乎工作,我得到的語法錯誤? –

+0

語法看起來是正確的,但作爲另一個用戶建議嘗試把返回false;在回調結束時,以防止按鈕執行任何默認操作那麼它會覆蓋它 – Maccath

回答

1

確保點擊代碼運行在頁面加載後,或者它可能不能夠找到並附加。可以肯定,我在jQuery的.ready()中包裝了你的JS代碼。

以下示例應該按照您的要求進行。如果您需要進一步的幫助,我建議您發佈一個我們可以查看和調試的網址。

<!doctype html> 

<html lang="en"> 
<head> 
    <meta charset="utf-8" /> 
    <title>Test</title> 
    <link rel="stylesheet" href="http://code.jquery.com/ui/1.9.1/themes/base/jquery-ui.css" /> 
    <script src="http://code.jquery.com/jquery-1.8.2.js"></script> 
    <script src="http://code.jquery.com/ui/1.9.1/jquery-ui.js"></script> 
    <script> 
    //Wait until the document is ready to be processed. 
    jQuery(document).ready(function() 
    { 
     //Init your dialog box. 
     $("#dialog").dialog({autoOpen:false}); 

     //Attach you click handler to the button. 
     $("#opener").click(function(event) 
     { 
      //Stop any default actions on the button. 
      event.preventDefault(); 
      //Open your dialog. 
      $("#dialog").dialog("open"); 
     }); 
    }); 
    </script> 
</head> 
<body> 

<div id="dialog">This should show up </div> 
<button id="opener">Open Dialog</button> 

</body> 
</html> 
0

這應該工作:

$("#opener").on('click', function(){ 
    $("#dialog").dialog("open"); 
});​ 

這裏工作JSFiddle

+0

我剛剛檢查了文檔,你說得對,它不被棄用。但我確信我讀了某處建議使用_on_而不是_click_,雖然它是_on_的簡寫。但是,感謝您的提醒。 –

+0

點擊不會被廢棄; live()是。看看[API](http://api.jquery.com/live/) )。 – EmmyS

+0

是的,這是我記得的。謝謝。我刪除了我的帖子中的錯誤信息。僅供參考,以下是我刪除的內容:「_click_已棄用,請使用_on_。」 –