2010-04-25 32 views
1

我正在使用Jquery Date拾取器来获取我正在构建的应用程序的开始日期和结束日期。Jquery Date Picker:将开始日期追加到结束日期并仅在将来显示日期

我有两个日期选择器,一个用于开始日期,另一个用于结束日期。

当有人在开始日期选择器中点击日期时,我需要将该日期自动附加到结束日期选择器。

我还需要结束日期选择器来选择未来的日期,只能从已附加到它的日期。

有jQuery的日期选择器网站上做了我想做的两个演示,但我不确定如何将它们结合起来做我想做的。

Example One:

这个例子说明如何配合 两个日期选择器在一起,以便在一个选定的 日期会影响可在 其他

选择的 日期
$(function() 
{ 
    $('.date-pick').datePicker() 
    $('#start-date').bind(
     'dpClosed', 
     function(e, selectedDates) 
     { 
      var d = selectedDates[0]; 
      if (d) { 
       d = new Date(d); 
       $('#end-date').dpSetStartDate(d.addDays(1).asString()); 
      } 
     } 
    ); 
    $('#end-date').bind(
     'dpClosed', 
     function(e, selectedDates) 
     { 
      var d = selectedDates[0]; 
      if (d) { 
       d = new Date(d); 
       $('#start-date').dpSetEndDate(d.addDays(-1).asString()); 
      } 
     } 
    ); 
}); 

Example Two:

表示内嵌日期选择器 ,其连接在一起,并在彼此触发 行为的一个例子...

$(function() 
{ 
    $('#date-view1') 
     .datePicker({inline:true}) 
     .bind(
      'dateSelected', 
      function(e, selectedDate, $td) 
      { 
       $('#date1').val(selectedDate.asString()); 
       $('#date-view2, #date-view3').dpSetSelected(selectedDate.addDays(3).asString()); 
      } 
     ); 
    $('#date-view2') 
     .datePicker({inline:true}) 
     .bind(
      'dateSelected', 
      function(e, selectedDate, $td) 
      { 
       $('#date2').val(selectedDate.asString()); 
      } 
     ); 
    $('#date-view3').datePicker(); 
    $('#form-check') 
     .bind(
      'click', 
      function() 
      { 
       alert('date1=' + $('#date1').val() + '\n' + 'date2=' + $('#date2').val()); 
      } 
     ); 
}); 

我试图上面列出的码的许多组合,但是我一直无法获得理想的结果。

感谢您的帮助,

+0

目前尚不清楚“当有人在开始日期选择器中点击日期时,我需要将该日期自动附加到结束日期选择器。” – 2010-04-26 00:06:34

+0

对不起,如果不明确。 我希望在开始日期选择的日期也被插入到结束日期选择器中。然后还要确保结束日期选择器不能选择开始日期选择器之前的日期。 – Tim 2010-04-26 00:38:38

回答

1

这里试试这个,选择开始日期将追加在开始日期输入的任何值,并设定结束日期开始日期:

$('#start-date').bind('dpClosed', function(e, selectedDates) { 
    var d = selectedDates[0]; 
    if (d) { 
    d = new Date(d); 
    $('#end-date').dpSetStartDate(d.addDays(1).asString()).dpSetSelected(d.asString()).val($(this).val()); 
    } 
}); 
+0

完美。非常感谢!!! :) – Tim 2010-04-26 00:37:40

+0

欢迎:) – Puaka 2010-04-26 00:38:35

相关问题