如何在jQuery Datepicker中设置日期范围并将其设置为默认值?

时间:2012-10-16 13:03:49

标签: javascript jquery datepicker

  1. 我需要将“开始日期”设置为当天+1天。
  2. 距离“结束日”的“开始日期”+3天
  3. (可选)突出显示结束日期
  4. enter image description here

    可以在这里找到小提琴:http://jsbin.com/icuduv/1

    谢谢!

3 个答案:

答案 0 :(得分:6)

你可以这么简单地做到这一点

var d = new Date(); d.setDate( d.getDate() + 1 );
$('#txtStartDate').datepicker('setDate', d); 
d = new Date(); d.setDate( d.getDate() + 4 );
$('#txtEndDate').datepicker('setDate', d);

我已经更新了你的演示,看看Here

突出显示日期,您可以使用beforeShowDay事件。每个需要在日历中显示的日期都会调用它。

答案 1 :(得分:0)

使用以下内容获取日期值:

var startDate = new Date();
var endDate = new Date();
startDate.setDate(today.getDate()+1);
endDate.setDate(startDate.getDate()+3);

$("#startDateInput").val(startDate.toString('MM/dd/yyyy'));
$("#endDateInput").val(endDate.toString('MM/dd/yyyy'));

这个问题有助于突出显示:

Highlight dates in specific range with jQuery's datepicker

答案 2 :(得分:0)

也许你可以试试这个

$(function() {
  var $defaultDate = new Date(); 
  $defaultDate.setDate( $defaultDate.getDate() + 1 );
  $('#txtStartDate').datepicker({defaultDate:   $defaultDate}).val(($defaultDate.getMonth()+1) + '/' + $defaultDate.getDate() + '/' +  $defaultDate.getFullYear()); 
  $defaultDate.setDate( $defaultDate.getDate() + 3 );
  $('#txtEndDate').datepicker({defaultDate: $defaultDate}).val(($defaultDate.getMonth()+1) + '/' + $defaultDate.getDate() + '/' +   $defaultDate.getFullYear()); 
});