2012-03-25 56 views
2

我有一個窗體上的文本框,我創建這樣一個datepicker:jQuery的日期選擇器只顯示一次

$("#txtBirthDate").datepicker({ 
        changeMonth: true, 
        changeYear: true, 
        yearRange: '1920:2999', 
        maxDate: '+0d', 
        dateFormat: 'dd-mm-yy' 
     }); 

這工作得很好,但什麼happends是:

我按下文本框時, datepicker很好地顯示,選擇一個日期。但是如果我想選擇另一個日期,我首先需要單擊另一個字段,然後再單擊生日日期字段。當我第二次按生日日期字段時,不先點擊另一個字段,日期選擇器不會顯示..

我在這裏錯過了什麼?

HTML代碼:

<label>Birthdate</label> 
<input type="text" name="txtBirthDate" id="txtBirthDate" class="input" readonly='true' value="<?echo $_POST["txtBirthDate"]; ?>" /> 
+0

你能發佈html代碼嗎? – riso 2012-03-25 13:42:48

+0

好吧我已經添加了HTML代碼... – CyberK 2012-03-25 13:46:19

+0

我試過你的代碼,它的工作,我用$(function(){})包裝你的JS代碼;你有嗎?也許舊版本的jQuery?因爲對我來說,它正在努力和... – riso 2012-03-25 14:09:20

回答

0

它與我發生一次只需按照文章,看看有什麼不同,但我認爲你錯過:

showButtonPanel: true, 

在你的代碼.Thanks

+0

不,相同的行爲... – CyberK 2012-03-25 13:51:59

1

好的問題是焦點。選擇日期後,該領域沒有失去焦點。通過以下方式解決:

$("#txtBirthDate").datepicker({ 
    changeMonth: true, 
    changeYear: true, 
    yearRange: '1920:2999', 
    showButtonPanel: true, 
    maxDate: '+0d', 
    dateFormat: 'dd-mm-yy', 
    onClose: function(dateText, inst) { 
     setTimeout(function(){ 
      $("#txtBirthDate").blur(); 
     }, 200); 
    } 
}); 

謝謝你試圖解決我的問題!

+0

如果它是一個,你應該將它標記爲答案 – Shenaniganz 2012-09-06 17:06:04

0

很簡單的答案,對我的工作是要加入這一行初始化您的日期選擇器的元素

$('#ui-datepicker-div').remove(); 

之前。