2016-05-12 175 views
1

讓我們考慮以下輸入:jQuery Datepicker從日期設置默認值?

04/2014 

4是當月

現在我想爲jQuery的日期選擇器默認的日期,所以我有這樣的事情:

$('.date_picker').datepicker({ 
    changeMonth: true, 
    changeYear: true, 
    showButtonPanel: true, 
    dateFormat: 'mm/yy', 
    yearRange: "-70:+10", 
    defaultDate: new Date($(this).val().slice(-4), $(this).val().substring(0, 2), 1), 
    onClose: function(dateText, inst) { 

    } 
}); 

隨着前面提到的值,新日期函數返回:

Thu May 01 2014 00:00:00 GMT+0200 (CEST) 

所以問題是,爲什麼datepicker跳轉到1946年1月?

+0

這可能會幫助:http://stackoverflow.com/questions/6646376/jquery-date-picker-default-date – DBS

+0

@DBS這是行不通的,因爲是部分問題的答案是你所指的? – jycr753

+0

還有另一種方法來設置defaultDate'defaultDate:new Date('01/04/2014')'嘗試使用它。 –

回答

1

該問題與您使用關鍵字this的上下文有關。
因此,而不是new Date($(this)...嘗試使用選擇器。例如:

$(function() { 
 
    $("#datepicker").datepicker({ 
 
    changeMonth: true, 
 
    changeYear: true, 
 
    showButtonPanel: true, 
 
    dateFormat: 'mm/yy', 
 
    yearRange: "-70:+10", 
 
    defaultDate: new Date($('#datepicker').val().slice(-4), $('#datepicker').val().substring(0, 2), 1), 
 
    onClose: function(dateText, inst) {} 
 
    }); 
 
    
 
    
 
    $("#datepicker-this").datepicker({ 
 
    changeMonth: true, 
 
    changeYear: true, 
 
    showButtonPanel: true, 
 
    dateFormat: 'mm/yy', 
 
    yearRange: "-70:+10", 
 
    defaultDate: new Date($(this).val().slice(-4), $(this).val().substring(0, 2), 1), 
 
    onClose: function(dateText, inst) {} 
 
    }); 
 
});
<link rel="stylesheet" href="https://code.jquery.com/ui/1.12.0-rc.2/themes/smoothness/jquery-ui.css"> 
 

 
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jquery-datetimepicker/2.5.3/jquery.datetimepicker.min.css"> 
 

 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script src="https://code.jquery.com/ui/1.12.0-rc.2/jquery-ui.min.js"></script> 
 

 
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-datetimepicker/2.5.3/build/jquery.datetimepicker.full.min.js"></script> 
 

 

 
<p>Initialization with id selector: 
 
    <input type="text" id="datepicker" value="04/2014"> 
 
</p> 
 

 

 

 
<p>Initialization with this: 
 
    <input type="text" id="datepicker-this" value="04/2014"> 
 
</p>

+0

這沒什麼區別,因爲這是指調用datepicker的元素,所做的是使代碼重複,因爲每次我使用datepicker函數而不是調用類時都會有datepicker函數。 – jycr753

+0

@ jycr753我同意你的意見。但使用選擇器datepicker inicialization正常工作。答案用這兩個例子更新。也許這是'datepicker'函數的一個問題 – Victor

+0

我認爲是與datepicker,因爲所有的控制檯工作正常,我只有錯誤,當我嘗試設置日期 – jycr753

相關問題