2012-01-05 6 views
0

Я использую Datepicker плагин JQuery UI сDatePicker - заполнить поле после выбора месяц/год

changeMonth: true, 
changeYear: true 

Но текстовое поле, который содержит только дату обновления, когда пользователь щелкает на самом деле в день. Если пользователь выбирает месяц и год, а затем щелкает за пределами всплывающего окна datepicker, я хочу, чтобы в поле содержался первый день выбранного месяца и года.

В настоящее время текстовое поле не обновляется, если пользователь фактически не нажимает определенный день. Может ли кто-нибудь, кто знаком с плагином, сказать мне, есть ли способ исправить это?

ответ

2

Вы можете заполнить текст поля самостоятельно, определив функцию обратного вызова onChangeMonthYear Из документов:

onChangeMonthYear: Позволяет определить собственное событие, когда Datepicker переходит на новый месяц и/или год. Функция получает выбранный год, месяц (1-12) и экземпляр datepicker в качестве параметров. это относится к соответствующему полю ввода.

примеры кода

питания функцию обратного вызова для обработки события onChangeMonthYear в качестве опции инициализации.

$('.selector').datepicker({ 
    onChangeMonthYear: function(year, month, inst) { ... } 
}); 

так это то, что вы хотели бы:

$('.selector').datepicker({ 
    onChangeMonthYear: function(year, month, inst) { 
     $(this).val(month + "/" + year); 
    } 
}); 

Example here

1

Mybe вы можете использовать что-то вроде этого:

$('.selector').datepicker({ 
    onChangeMonthYear: function(year, month, inst) { 
     var day = $(this).datepicker('getDate').getDate(); 
     $(this).datepicker("setDate", month+'/'+day+'/'+year); 
    } 
}); 

тщательно Будьте с форматом даты расположения.

Полный код примера здесь: http://jsfiddle.net/FagGK/

+0

Я думаю, что вы имели в виду только '$ (это) .datepicker ("SETDATE", месяц + '/ 01 /' + год);' в обратный вызов, '$ (это) .datepicker ('getDate') 'будет' null'. http://jsfiddle.net/ambiguous/FagGK/1/ –

Смежные вопросы