2012-08-02 80 views
1

我正在尝试自定义此脚本,以便onclick#startdatepicker将显示本周日的日期格式为yy-mm-dd格式,#enddatepicker将显示下一个星期日。日期默认。Datepicker默认为这个星期日

<script type="text/javascript"> 
    $(document).ready(function() { 
     $("#startdatepicker").datepicker({ 
      dateFormat: 'yy-mm-dd' 
     }); 
     $("#enddatepicker").datepicker({ 
      dateFormat: 'yy-mm-dd', 
     }); 
    }); 
</script> 
Start Date: <input type="text" id="startdatepicker"/><br /> 
End Date: <input type="text" id="enddatepicker"/><br />` 
+0

我假设你想这样做,不给你输入对应于这些日期的初始值? – 2012-08-02 13:03:10

+0

正确我希望它默认自动显示下周日的日期 – 2012-08-02 13:04:24

回答

0

如果你总是希望在日期选择器默认保存到下周日(不管今天的日期),请尝试:

$(function() { 
    var sunday = new Date(),    // new Date object for current day 
     dow = sunday.getDay(),    // day of week (0-6) 
     toAdd = dow === 0 ? 0 : 7 - dow; // days to move forward 

    $("#startpicker").datepicker({ 
     dateFormat: 'yy-mm-dd', 
     defaultDate: toAdd 
    }); 

    $('#endpicker').datepicker({ 
     dateFormat: 'yy-mm-dd', 
     defaultDate: toAdd+6 
    }); 
});​ 

同样可以做到寻找下一个星期六,只需再增加6天。

http://jsfiddle.net/dYEMn/3

+0

当然;看到这个udpated演示:http://jsfiddle.net/dYEMn/5/在这种情况下,如果文本字段已经填充了所需的默认日期字符串,则不需要设置'defaultDate'。 – jackwanders 2012-08-02 13:42:58

+0

太棒了!再次感谢这正是我想要的! – 2012-08-02 13:45:13

0

可以使用defaultDate选项指定的日期,当它打开,<input>的价值是空白的日期选择器显示。您只需要获取表示日期的日期对象或字符串,并在初始化元素上的日期选择器时传递这些日期对象或字符串。

0

您可以使用选取器设置默认值。

<script type="text/javascript"> 
    $(document).ready(function() { 
     $("#startdatepicker").datepicker({ 
      dateFormat: 'yy-mm-dd', 
      defaultDate: '12-08-05', 
     }); 
     $("#enddatepicker").datepicker({ 
      dateFormat: 'yy-mm-dd', 
      defaultDate: '12-08-12', 
     }); 
    }); 
</script> 
0

MDN具有良好的文档约Date(),您可以使用getDay()来找出你需要多少天才能往前走才能到本周日和下周六。

http://jsfiddle.net/VesQ/ZdmCE/

$(document).ready(function() { 
    // Get current date 
    var now = new Date(); 
    // Get the day, 0 is Sunday and 6 is Saturday 
    var day = now.getDay(); 

    // How many days to this sunday 
    var daysToSunday; 
    if (day == 0) { 
     // Sunday is now 
     daysToSunday = 0; 
    } else { 
     daysToSunday = 7 - day; 
    } 

    // Days to next saturday is simple: 
    var daysToNextSaturday = daysToSunday + 6; 

    // See defaultDate option, 
    // http://jqueryui.com/demos/datepicker/#option-defaultDate 
    $("#startdatepicker").datepicker({ 
     dateFormat: 'yy-mm-dd', 
     defaultDate: daysToSunday 
    }); 
    $("#enddatepicker").datepicker({ 
     dateFormat: 'yy-mm-dd', 
     defaultDate: daysToNextSaturday 
    }); 
}); 
相关问题