2012-07-14 41 views
0

Javascript代碼如何使用回撥jQuery的確認對話框

function btnCancelClick() 
       { 
        $("#dialog:ui-dialog").dialog("destroy"); 

        $("#dialog-confirm").dialog({ 
         resizable: false, 
         height: 140, 
         width: 400, 
         modal: true, 
         buttons: { 
          "Yes": function() 
          {      
           $(this).dialog("close"); 
             //Yes callback 
          }, 
          No: function() 
          {      
           $(this).dialog("close"); 
            //No callback 
          } 
         } 

        });    
       } 

.aspx的代碼

<div class="demo"> 
     <div id="dialog-confirm" title="Do you want to cancel the appointment?"> 
     </div> 
    </div> 

    <asp:Button ID="btnCancel" runat="server" Text="Cancel" CssClass="cssbutton" 
             OnClientClick="return btnCancelClick();" OnClick="btnCancel_Server_Click" /> 
<asp:UpdatePanel ID="updatePanelTable" runat="server"> 
         <ContentTemplate> 
. 
. 
. 

</ContentTemplate> 
<Triggers> 
          <asp:AsyncPostBackTrigger ControlID="btnCancel" EventName="Click" /> 
         </Triggers> 
        </asp:UpdatePanel> 

服務器端代碼:

protected void btnCancel_Server_Click(object sender, EventArgs e) 
    { 
     //Server side code. 
    } 

我使用jquery對話框來顯示確認框。當點擊按鈕時,它總是觸發按鈕的服務器端事件。如果點擊否,然後返回false,我必須點擊Yes才能觸發服務器端事件。我搜索谷歌他們告訴我使用回調,因爲我不知道如何使用這種東西回撥。

+0

爲什麼不拿,把butons在「#對話框,確認」 – 2012-07-14 06:56:52

回答

0

既然你可以有一個回調,每當用戶回答「是」或「否」,你可以有這樣的事情:

function btnCancelClick() 
{ 
    $("#dialog:ui-dialog").dialog("destroy"); 
    $("#dialog-confirm").dialog({ 
     resizable: false, 
     height: 140, 
     width: 400, 
     modal: true, 
     buttons: { 
      "Yes": function() 
      {      
       $(this).dialog("close"); 
       //Yes callback 
       callback(); 
      }, 
      No: function() 
      {      
       $(this).dialog("close"); 
       //No callback 
       callback(); 
      } 
     } 
    }); 

    function callback() { 
     // whatever needs to be done once the user choose Yes or No 
    } 
} 
+0

onclick是我必須返回true並調用服務器端事件和onclick否我必須使返回false,但返回不工作在jQuery對話框 – John 2012-07-14 07:04:09

+0

serever邊事件是第一次執行,因爲當前動畫未完成100%。 – John 2012-07-14 08:12:54