Jquery:DatePicker:开始/结束日期

时间:2010-04-22 20:12:29

标签: jquery datepicker

我在发布问题之前已经四处查看了

按照我在datepicker中查看的内容(开始日期和结束日期):

1)开始日期:可以是任何日期,(用户可以选择开始日期当前(现在)到任何将来的日期。

2)开始日期:用户可以选择开始日期为6个月。  示例:如果今天是04/22/2010,那么我可以回到11/22/2009 但不超过6个月。

3)开始日期如果用户选择开始日期(未来当前,未过去)少于10天,那么我想提醒“需要至少10天”的消息

4)结束日期:应该是未来日期的当前日期,之前的日期已被停用。

5)**开始日期/结束日期:**不应超过一年。

非常感谢。

PS:不确定我在这里要求的太多了:))

3 个答案:

答案 0 :(得分:4)

我为一位朋友回答了类似的问题。他需要类似的级联日期,但我认为如果你查看我的标记,你可以看到如何解决这个问题。

HTML

  <form target="_self" action="ClearForm.aspx">

    清除表格     

          
  •                    开课日期:
  •       
  •                    结束日期:
  •       
  •                    清除
  •     
     

JS

<script type="text/javascript">
$(document).ready(function () {

  $('#endDate').datepicker({ showOn: 'button',
      buttonImage: '../images/Calendar.png',
      buttonImageOnly: true, onSelect: function () { },
      onClose: function () { $(this).focus(); }
    });


  $('#startDate').datepicker({ showOn: 'button',
      buttonImage: '../images/Calendar.png',
      buttonImageOnly: true, onSelect:
        function (dateText, inst) {
          $('#endDate').datepicker("option", 'minDate', new Date(dateText));
        }
      ,
      onClose: function () { $(this).focus(); }
    });


});             

答案 1 :(得分:0)

<input type="text" id="tbStartDate" value="" disabled="disabled" />
<input type="text" id="tbEndDate" value="" disabled="disabled" />
<script type="text/javascript">
    $(document).ready(function () {
        $("#tbStartDate").datepicker({        
            showOn: 'button',
            buttonImageOnly: true,
            buttonImage: '/Content/Calendar.png',
            buttonText: 'Click here (date)',
            onSelect: function (dateText, inst) {
                 var $endDate = $('#tbStartDate').datepicker('getDate');
                 $endDate.setDate($endDate.getDate() + 1);
                 $('#tbEndDate').datepicker('setDate', $endDate).datepicker("option", 'minDate', $endDate);
            },
            onClose: function (dateText, inst) {
                //$("#StartDate").val($("#tbStartDate").val());
            }
        });

        $("#tbEndDate").datepicker({
            dateFormat: 'dd-mm-yy',
            showOn: 'button',
            buttonImageOnly: true,
            buttonImage: '/Content/Calendar.png',
            buttonText: 'Click here (date)',
            onClose: function (dateText, inst) {
                //$("#EndDate").val($("#tbEndDate").val());
            }
        });

            var $endDate = $('#tbStartDate').datepicker('getDate');
            $endDate.setDate($endDate.getDate() + 1);
            $('#tbEndDate').datepicker('setDate', $endDate).datepicker("option", 'minDate', $endDate);
    });
</script>

答案 2 :(得分:0)

我更喜欢使用类为datepicker编写默认配置,以便它可以使用多个重复项较少的一个。

onSelect: function(dateText, inst){
    // Check if _until exists and auto set mindate
    if(inst.id.contains("_from")){
        $("#"+inst.id.replace("_from", "_until")).datepicker("option", "minDate", dateText);
    }
}

这可以假设您的表单ID一致。例如,我使用date_until和date_from