2016-05-12 20 views
1

次の入力を考えることができます:月jQuery Datepickerはdateからデフォルト値を設定しますか?

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) 

質問があるのは、なぜ日記は1946年1月にジャンプするのですか?

+0

:http://stackoverflow.com/questions/6646376/jquery-date-picker-default-date – DBS

+0

@DBS一部であるため、動作しません。問題の、あなたが参照している答えですか? – jycr753

+0

defaultDateを設定するもう1つの方法は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関数を使用する必要があるため、コードを繰り返し実行しています。 – jycr753

+0

@ jycr753私はあなたに同意します。しかしセレクターを使うと、日付ピッカーのinaticizationはうまく動作します。答えは2つの例で更新されています。たぶんそれはdatepicker関数の問題です – Victor

+0

datepickerとは何かがあると思います。すべてのコンソールが正常に動作するので、日付を設定しようとするとエラーが発生します – jycr753

関連する問題