2011-03-07 61 views
0

當我執行下面一行時,對話框正常打開。如何在加載jquery對話框時將焦點設置爲文本框

$('#divMyDialogBox').dialog('open'); 

但我的股利(對話框)內的文本框(即txtAddr)&要提示的焦點,它什麼時候被加載。

我試過下面的代碼,但它不工作。請糾正相同或建議新的解決方案。

 $('#divEmailDialogBox').dialog 
     ({ 
      modal: true, 
      draggable: true, 
      hide: 'slide', 
      show: 'slide', 
      height: 100, 
      width: 575, 
      bgiframe: true, 
      autoOpen: false, 
      resizable: false, 
      closeOnEscape: false, 
      zIndex: 9999, 
      open: function(){alert("Hi"); $("#txtAddr").focus();} 
     }); 

    <%if(true) 
    {%> 
       $('#divEmailDialogBox').dialog('open'); 
    <%} 

此處警報正在觸發,表示代碼正在調用。

由於事先 Biki

回答

0

貴函數被調用呢?它會在對話框出現之前還是之後被調用? (您可以使用alert來更改focus呼叫以查找)。

您是否嘗試過使用對話框的focus事件而不是open事件?

+0

編輯我的崗位工作,按您的評論。 – Biki 2011-03-07 12:56:02

0

最好確保頁面上沒有其他文本框具有相同的ID。你可以在這裏粘貼你的HTML嗎?

+0

我再次重新檢查並發現這些ID是唯一的。 – Biki 2011-03-07 12:57:01

0

嘗試用它來取代當前的顯示:

show: { effect: 'slide', complete: function() { $(this).find("#txtaddr").focus(); }},

這應該jQuery UI的1.8.4+

相關問題