2011-05-10 85 views
0

我被困在jquery模態對話框。我的語氣顯示了按鈕點擊兩次,也敗壞了標記 在頁面上我讀沒有職位,包括堆棧溢出 thisjquery模態彈出打開第二次點擊不首先

this

,但我的問題不匹配both.So我請求你請不要回答這個問題。

我用下面的代碼顯示模式

<script type="text/javascript"> 

     function overlayclickclose() { 
      if (closedialog) { 
       jQuery('#mydialog').dialog('close'); 
          } 
      closedialog = 1; 
            } 

      jQuery('#mydialog').dialog({ 
      bgiframe: true, 
      autoOpen: false, 
      modal: true, 
      width: 900, 
      height: 400, 
      resizable: false, 
      open: function() { closedialog = 1; jQuery(document).bind('click', overlayclickclose); }, 
      focus: function() { closedialog = 1; }, 
      close: function() { jQuery(document).unbind('click'); } 
      }); 
      </script> 

現在這裏是要顯示我的股利爲彈出

<div id="mydialog"><NL:TemplatePicker ID="TemplatePicker1" Runat="server"></NL:TemplatePicker></div> 

,我是通過調用調用點擊按鈕的模態它在asp.net後面的代碼如下

protected void btnChooseTemplate_Click(object sender, EventArgs e) 
    { 
     ScriptManager.RegisterClientScriptBlock(this.Page, Page.GetType(), "change", "jQuery('#mydialog').dialog('open');closedialog = 1;jQuery('#mydialog').parent().appendTo(jQuery('form:aspnetForm'));", true); 
    } 

我的頁面使用ajax updatepanel。

任何幫助將被視爲。如果你需要更多的東西來了解問題,請讓我知道。

感謝

回答

1

@Devjosh:看起來你是註冊在btnChooseTemplate點擊打開的對話框。這意味着打開的腳本只有在第一次點擊之後纔會被註冊。嘗試將客戶端腳本塊註冊移動到頁面加載功能中,以便每次加載頁面時都進行註冊,爲每次首次點擊做好準備。

+0

感謝您的快速回復Brian Scott – Devjosh 2011-05-10 14:53:11

+0

我將已註冊的客戶端腳本方法移至page_load事件,但它仍然執行相同操作 – Devjosh 2011-05-10 14:54:11