JQuery datepicker - 2 ввода / текстовые поля - PullRequest
0 голосов
/ 06 октября 2009

Два поля ввода: когда я устанавливаю первое, я хочу, чтобы второе было через один день после даты, выбранной в первом. Я использую плагин Кита Вуда для jquery: http://keith -wood.name / datepickRef.html .

Использование altField: просто сохраняет то же самое в двух полях, но я хочу получить 1 день после во втором поле ввода.

Ответы [ 3 ]

1 голос
/ 06 октября 2009

Определите обработчик onSelect, который обновляет второе поле датой, которая на единицу позже, чем дата, выбранная для первого поля.

0 голосов
/ 06 октября 2009

Создать событие onSelect из средства выбора даты. В обратном вызове прочитайте значение, преобразуйте дату в UNIX TIMESTAMP (вы можете использовать $ .datepick.TIMESTAMP), добавьте 24 * 60 * 60000 и настройте второй вход соответственно.

0 голосов
/ 06 октября 2009

Посмотрите на мой ответ здесь - JQuery datepicker- 2 ввода / текстовые поля и ограничительный диапазон

Один из способов сделать это - использовать свойство beforeShow для ограничения значения во втором указателе даты. В качестве альтернативы, определите обработчик onSelect, который обновляет второй вход, когда в первом выбирается дата.

Рабочая демонстрация Примечание: это основано на jQuery DatePicker , а не Кейт Вудс '.

EDIT:

Как указано на странице выбора даты плагин -

Этот плагин является основой для jQuery UI Datepicker. Это сделано доступно как отдельный плагин с команда пользовательского интерфейса желал упрощенного функциональность для их версии.

Таким образом, код, основанный на jQuery UI 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);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...