2013-09-02 2 views
0

Я использовал jquery-ui для своего проекта, в последнее время я обнаружил, что в виджете datepicker есть ошибка, которая не принимает выбранную дату, если диапазон дат не соответствует текущему году. взгляните на это example. Но если вы меняете год и выбираете какую-то дату, оно принимает правильное значение. Я знаю, что есть билет BUG в jquery, который они разрешат на следующей версии v.1.11 bcoz jquery ui - большой js. Я немного параноик, чтобы войти в файл и изменить его. Есть ли взломать или возможным решение, которое я могу теперь использоватьРаботать вокруг ошибки jQuery-ui Date-Range?

$('#test').datepicker({ 
    yearRange: '-100:-18', 
    changeMonth: true, 
    changeYear: true 
}); 

ответ

1

хака обходным путем является явно установить defaultDate на тот, который показан на DatePicker, когда он открыт; или какое-либо другое разумного значение по умолчанию:

var defaultDate = new Date(); 
defaultDate.setHours(0, 0, 0, 0); 
defaultDate.setYear(defaultDate.getYear() - 100); 
console.log(defaultDate); // current month, current date, current year - 100 
$('#test').datepicker({ 
    yearRange: '-100:-18', 
    changeMonth: true, 
    changeYear: true, 
    defaultDate: defaultDate 
}); 

Demo here

1

Проверить это работает

FIDDLE DEMO

$('#test').datepicker({ 
    yearRange: '-100:-18', 
    changeMonth: true, 
    changeYear: true, 
    onSelect: function(dateText, inst) { 
       var d = new Date(dateText); 
       var selectedYear = d.setFullYear(parseInt($('.ui-datepicker-year :selected').text())); // selected year  
     $('#test').val([d.getMonth()+1, d.getDate(), d.getFullYear()].join('/')); 

      } 
}); 
Смежные вопросы