2016-09-27 11 views
0

私はこのコードを下手く動作させています。しかし、DateEndを変更すると、StartDateのmaxDateを削除するには?datepickerでmaxDateを削除するには?

例えば私のDateStarted09/26/2016あるとEndは、コードのそれぞれを見ることができるように、それはmaxDate and minDateを持って09/30/2016です。私が望むのは、EnddatemaxDateStartdateにクリアすると、12ヶ月間全体を再び選択できるようになります。

HTML

< input type="text" id = "TrainingProgram_DateStarted" > 
< input type="text" id = "TrainingProgram_DateEnded" > 

JS

$("#TrainingProgram_DateStarted").datepicker({ 
    changeMonth: true, 
    changeYear: true, 
    onSelect: function (dateText) { 
     $("#TrainingProgram_DateEnded").datepicker('option', 'minDate', dateText); 
    } 
}); 

$("#TrainingProgram_DateEnded").datepicker({ 
    changeMonth: true, 
    changeYear: true, 
    onSelect: function (dateText) { 
     $("#TrainingProgram_DateStarted").datepicker('option', 'maxDate', dateText); 
    } 
}); 
日付ピッカーから値が選択されたときに日付ピッカーの

FIDDLE

+0

:空ならば、ヌルとしてスタート入力のmaxDateのを設定します。 **説明してください** ** –

+0

私の説明がうまく説明されていない場合は、少し理解することができますので、私のフィドルを試してください。 –

答えて

0

onSelectイベントがトリガされます。入力値をクリアすると、上記のイベントはトリガーされません。あなたは終了日の変更イベントを持ち、値が空であるかどうかを確認する必要があります。私はあなたをabovestand **

$("#TrainingProgram_DateEnded").change(function(){ 
    if($(this).text().trim().length == 0) 
    $("#TrainingProgram_DateStarted").datepicker('option', 'maxDate', null); 
}).datepicker({ 
    changeMonth: true, 
    changeYear: true, 
    onSelect: function (dateText) { 
     $("#TrainingProgram_DateStarted").datepicker('option', 'maxDate', dateText); 
    } 
}); 

Working Demo

+0

私は '.change'関数を試してみましたが、' trim and length'を試しませんでした。ありがとう –

+0

@Yukki:うれしいです:) –

+0

本当に助けてくれて、私の問題を解決してください:) –