单击按钮使用Datepicker而不是新的Date()加载设置日期范围;

时间:2014-04-21 14:12:42

标签: javascript jquery jquery-ui date jquery-ui-datepicker

我使用UI网站的基本Jquery UI日期范围选择工作范围。

HTML

<button id="week">Past Week</button><br />
<label for="from">From</label>
<input type="text" id="from" name="from" value""> 
<label for="to">to</label>
<input type="text" id="to" name="to" value"">

JQ

$( "#from" ).datepicker({
  defaultDate: "+1w",
  dateFormat: 'MM d, yy',
  numberOfMonths: 1,
  onClose: function( selectedDate ) {
    $( "#to" ).datepicker( "option", "minDate", selectedDate );
  }
});
$( "#to" ).datepicker({
  defaultDate: "+1w",
  dateFormat: 'MM d, yy',
  numberOfMonths: 1,
  onClose: function( selectedDate ) {
    $( "#from" ).datepicker( "option", "maxDate", selectedDate );
  }
});

我还需要包含一个按钮,用于自动选择当前日期的前7天。我使用了新的Date();实现“工作”的方法版本(目前没有形成日期)。

$( "#week" ).click(function() {
  var today = new Date();
  var lastweek = new Date(new Date().setDate(new Date().getDate()-7));
  $( "#from" ).val(lastweek);
  $( "#to" ).val(today);
});

但是我更喜欢使用datepicker函数来实现前一周的范围,而我无法弄清楚如何实现它(如果可能的话)。主要原因是,如果用户选择&#34; Prev Week&#34;按钮选项,然后选择一个新日期,我希望在日历小部件上选择现有日期。

我在jsfiddle http://jsfiddle.net/lopac1029/RuhWj/

中有这个

1 个答案:

答案 0 :(得分:0)

繁荣热潮。在发布之后,我向in the sidebar提供了另一个相关问题,我能够将其作为基础来理解这一点:

$( "#week" ).click(function() {
  var today = new Date();
  var from = new Date(today.getTime());
  from.setDate(from.getDate() - 7);
  $("#to").datepicker("setDate", today);
  $("#from").datepicker("setDate", from);
});

jsfiddle已更新

感谢总是在我身边,stackoverflow。