2012-05-24 70 views
2

我對兩個不同的文本字段使用jQuery Datepicker。開始日期的一個字段和結束字段的另一個字段。我在當前日期前使用minDate禁用日期。我的代碼是這樣的:如何使用jQuery Datepicker比較開始日期和結束日期?

$("#start").datepicker({ 
    minDate: 0, 
    dateFormat: 'yyyy-mm-dd', 
    showOnFocus: true, 
    showTrigger: '<img src="<?php echo base_url()?>images/calender.png" />' 
});  

$("#end").datepicker({ 
    minDate: 0, 
    dateFormat: 'yyyy-mm-dd', 
    showOnFocus: true, 
    showTrigger: '<img src="<?php echo base_url()?>images/calender.png" />' 
}); 

現在我需要檢查結束日期必須等於或大於開始日期。並且在結束日期字段中,必須禁用所選開始日期之前的所有日期。如何做呢?

回答

1

首先感謝所有幫助我找到答案的人。

解決方案,我的問題是使用如下代碼:

$(document).ready(function(){ 
    $("#depart ,#return_date").datepick({ 
    minDate:0, 
    dateFormat:'yyyy-mm-dd', 
    showOnFocus: true, 
    showTrigger: '<img src="<?php echo base_url()?>images/calender.png" />', 
    onSelect: customRange 
    }); 

    function customRange(dates) { 
    if (this.id == 'depart') 
    { 
     $('#return_date').datepick('option', 'minDate', dates[0] || null); 
    } 
    else 
    { 
     $('#depart').datepick('option', 'maxDate', dates[0] || null); 
    } 
    } 
}); 
0

使用datejs庫複雜的日期相關的操作 - > datejs.com

1

這裏是所需要的代碼的例子。

<script> 
    $(function() { 
     var dates = $("#from, #to").datepicker({ 
      defaultDate: "+1w", 
      changeMonth: true, 
      numberOfMonths: 3, 
      onSelect: function(selectedDate) { 
       var option = this.id == "from" ? "minDate" : "maxDate", 
        instance = $(this).data("datepicker"), 
        date = $.datepicker.parseDate(
         instance.settings.dateFormat || 
         $.datepicker._defaults.dateFormat, 
         selectedDate, instance.settings); 
       dates.not(this).datepicker("option", option, date); 
      } 
     }); 
    }); 
    </script> 

您可以查看演示:Datepicker

從jQuery UI的網站簡稱。

+0

我要挑戰你,我的回答是更具可讀性。你說什麼? :) –

0

您需要在開始日期更改時重置結束日期。 這應該這樣做。

<script type="text/javascript"> 
    $(document).ready(function() { 
     $('#start').datepicker({ 
      minDate: '-1d', 
      dateFormat: 'yy-mm-dd', 
      showTrigger: '<img src="<?php echo base_url()?>images/calender.png" />' 
     }); 

     $('#end').datepicker({ 
      minDate: '-1d', 
      dateFormat: 'yy-mm-dd', 
      showTrigger: '<img src="<?php echo base_url()?>images/calender.png" />' 
     }); 

     $('#start').change(function() { 
      var sDate = $('#start').val().split("-"); 
      var endMinDate = new Date(sDate[0], sDate[1] - 1, sDate[2]); 
      $('#end').datepicker('option', 'minDate', endMinDate); 
     }); 
    }); 
</script> 
+0

此代碼無法正常工作....我只想在當前日期前的所有天禁用開始文本字段,並在結束文本字段的情況下,我希望所有日期插入開始文本字段中的日期是disable.How待完成在上面的代碼....... –

+0

@ Rabesh拉爾Shrestha,我更新了腳本。 –

相關問題