2013-04-18 45 views
0

繼承人我的情況:我有一個索引頁,其上有2個單選按鈕和結果的跨度區域。當點擊一個單選按鈕,跨度充滿了有一個輸入框,這樣一個Ajax生成的頁面:jQuery datepicker沒有打開焦點

<input size='25' class='datepicker' value='Click to enter deposit date' READONLY type='text' id='depositDate' name='depositDate'> 

在頁面的底部有一個「添加記錄」按鈕,觸發關閉javascript驗證。驗證是這樣:

var inpDepDate = $.trim($("#depositDate").val()); 
if(inpPayDate=='Click to enter pay date') // Validate pay date 
{ 
    alert('Invalid pay date; re-enter'); 

    document.getElementById('payDate').focus(); 
    document.getElementById('payDate').select(); 

    return false; 
} 

而且在我的JavaScript文件是:

$(function(){ 
    $("#depositDate").live('focus', function() { 
     $(this).datepicker({ 
      changeMonth: true, 
      changeYear: true, 
      minDate: "+1D", 
      showOtherMonths: true, 
      selectOtherMonths: true}).focus(); 
    }); 
}); 

問題是,當驗證失敗,該文中得到突出和選擇,但它不會自動打開。

我試過很多東西,其實從這個網站上看到很多東西,並且沒有運氣。它似乎永遠不會承認現場活動。但是,如果在驗證失敗(並且突出顯示文本)後點擊文本框,日曆就會打開。我相當新的jQuery和用戶界面。

回答

1

如果您以前已在#depositDate上調用過日期選擇器,則不需要重新生成日期選擇器。 (或payDate)

試試這個:

if(inpPayDate=='Click to enter pay date') // Validate pay date 
{ 
    alert('Invalid pay date; re-enter'); 

    $("#payDate").datepicker("show"); 
    return false; 
} 
+0

我嘗試添加「秀」行,但現在我得到了jQuery文件「設置」的錯誤爲空或不是一個對象。 – Juan

+0

我認爲問題在於它在ajax調用和失敗驗證之間丟失了它,當它試圖重新顯示它時。 – Juan

+0

你還沒有在payDate上打過.datepicker嗎?在驗證之前,如果點擊它,你會得到一個日期選擇器嗎? –