JQuery datepicker- 2个输入/文本框

时间:2009-10-06 11:40:09

标签: jquery datepicker date field hyperlink

两个输入框:当我设置第一个输入框时,我希望第二个输入框在第一个选择的日期之后的一天。我正在使用Keith Wood的jquery插件:http://keith-wood.name/datepickRef.html

使用altField:在两个字段中保持相同,但我希望在第二个输入字段中获得1天后。

3 个答案:

答案 0 :(得分:1)

定义一个onSelect处理程序,用于更新第二个字段,其日期晚于为第一个字段选择的日期。

答案 1 :(得分:0)

在这里查看我的答案 - JQuery datepicker- 2 inputs/textboxes and restricting range

执行此操作的一种方法是使用beforeShow属性来限制第二个datepicker中的值。或者,定义一个onSelect处理程序,在第一个输入中选择日期时更新第二个输入。

Working Demo 注意:这取决于jQuery DatePicker而不是Keith Woods'

修改

如日期选择plugin page -

所述
  

这个插件构成了基础   jQuery UI Datepicker。它是制作的   从那以后作为单独的插件提供   UI团队希望简化   他们的版本的功能。

因此基于jQuery UI Datepicker的代码将与Keith的datepicker一起使用。

演示代码

$(function () 
{

    $('#txtStartDate, #txtEndDate').datepicker(
    {
        showOn: "both",
        dateFormat: "dd M yy",
        onSelect: insertOtherDate,
        firstDay: 1, 
        changeFirstDay: false
    });   
});

function insertOtherDate(value, date, inst) {

     var firstDate = new Date(value);
     var datepickerInput = (date.id === 'txtStartDate') ? 'txtEndDate' : 'txtStartDate';
     var dateAdjust = (date.id === 'txtStartDate') ? 1 : -1;
     var secondDate = new Date(firstDate.getFullYear(), firstDate.getMonth(), firstDate.getDate() + dateAdjust);   

     $('#' + datepickerInput).datepicker('setDate', secondDate);
}

答案 2 :(得分:0)

从datepicker创建一个onSelect事件。在回调中读取值,将日期转换为UNIX TIMESTAMP(可以使用$ .datepick.TIMESTAMP),添加24 * 60 * 60000并相应地配置第二个输入。