2017-09-25 214 views
3

因此,我試圖只顯示大於「結束日期日期選擇器」中的開始日期的日期。在這裏,我的問題是 - 如果用戶最初選擇了某個開始日期(例如9月27日),則結束日期日期選擇器顯示的日期大於9月27日,可以。但是如果他由於某種原因(例如9月27日到9月25日)而改變了開始日期,則結束日期日期選擇器仍然只顯示大於上一個開始日期的日期(即,第25和第26日沒有被突出顯示)。附 Screenshot1Screenshot2顯示開始日期小於結束日期 - 日期選擇器

這是必要的JS:

$(document).ready(function() { 
    var start = new Date(); 
    // var end = new Date(); 

    $("#s_dt").datepicker({ 
     startDate: start, 
     daysOfWeekDisabled: [0, 6], 
     autoclose: true, 
    }) 
    $("#s_dt").on('changeDate', function() { 
     var st = $(this).datepicker("getDate"); 
     var end = st; 
     // end.setDate(st.getDate()); 
     console.log(st); 
     end.toLocaleDateString(); 
     console.log(end); 
     $('#e_dt').val('');    

     $("#e_dt").datepicker({ 
      startDate: end, 
      daysOfWeekDisabled: [0, 6], 
      autoclose: true, 
     }) 

    }) 

}) 

在此先感謝...

+0

所以,你想重置結束日期,每當開始日期被修改? –

+0

如果更新開始日期,則應該有一段時間直到結束日期。 – bhansa

+0

你嘗試過'setDate' – Niladri

回答

3

日期選擇器有方法setStartDate,你可以用它來設定結束日期,只要輸入起點的開始日期日期被改變,而不是再次初始化。

$("#s_dt").datepicker({ 
    startDate: start, 
    daysOfWeekDisabled: [0, 6], 
    autoclose: true, 
}); 

//initialize it once without start date 
$("#e_dt").datepicker({ 
    daysOfWeekDisabled: [0, 6], 
    autoclose: true, 
}); 

$("#s_dt").on('changeDate', function() { 
    var st = $(this).datepicker("getDate"); 
    var end = st; 
    console.log(st); 
    end.toLocaleDateString(); 
    console.log(end); 

    //use setStartDate to change startdate property dynamically 
    $('#e_dt').val('').datepicker('setStartDate', end);    
}); 
+1

就像一個魅力!謝謝:) –

+0

@RaviShankar歡迎...你可以在這裏添加一件事.. 。禁用頁面加載結束日期(因爲它會顯示所有日期),並在啓動日期改變時啓用 –

+0

是的,我已經做到了..日期選擇器不會在初始時加載,直到給出一個startdate爲止。儘管..謝謝.. –

相關問題