2016-05-08 10 views
0

2つのブートストラップ日付ピッカーを使用しています。ユーザーが最初の日付ピッカーで任意の日付をクリックすると2番目の日付ピッカーの開始日が選択されます最初の日付ピッカーで、その前にすべての日付を無効にする必要がありますが、確かに分かりませんでした。変数diffDaysの値が2番目の日付ピッカーのstartDateフィールドに反映されていないため、開始日は2番目の日付選択ツールに反映されていません。 ありがとうございます。最初の日付ピッカーから2番目の日付ピッカーの開始日を定義します

function checkDate(startDate) { 
    var oneDay = 24 * 60 * 60 * 1000; 
    var res = startDate.value.split("/"); 
    var firstDate = new Date(res[2], res[1] - 1, res[0]); 
    var todayFullDate = new Date(); 
    var diffDays = Math.round(Math.abs((firstDate.getTime() - todayFullDate 
      .getTime()) 
      /(oneDay))); 

    $('#date2').datepicker({ 

     startDate: '+'+diffDays+'d' 
       }); 

} 
$(function() { 

    $('#date1').datepicker({ 
     format : "dd/mm/yyyy", 
     required : true, 

    }); 

    $("#register-form").validate({ 

     rules : { 
      date1 : "required" 
     }, 

     messages : { 
      date1 : "Please enter a valid date" 
     }, 

     submitHandler : function(form) { 

      form.submit(); 
     } 
    }); 

}); 
あなたは以下のように自分のプラグインと一緒に提供される単純な methodsoptionsを利用することができます

答えて

1

changeDatesetStartDatesetEndDateはあなたを利用するために必要な3つの重要なものです。

changeDatefired when the date is changedあるeventです。

setStartDatesetEndDatedatepickersためstartdateenddateを設定する2つの方法です。あなたはdatepickers両方にchangeDateイベントを添付して、それぞれのdatepickers

DEMO HERE

+1

$('.start').datepicker({ autoclose:true }).on('changeDate',function(e){ //on change of date on start datepicker, set end datepicker's date $('.end').datepicker('setStartDate',e.date) }); $('.end').datepicker({ autoclose:true }).on('changeDate',function(e){ //on change of date on end datepicker, set start datepicker's date //e.date will have selected date value. $('.start').datepicker('setEndDate',e.date) }) 

以下のように偉大な回答のために、対応する開始日と終了日を設定する必要があります。百万をありがとう! – ImBS

+0

いつでも..ハッピーコーディング.. :) –

関連する問題