2016-09-27 7 views
0

У меня этот код ниже работает нормально. Но как удалить maxDate в StartDate, если я изменю DateEnd?.Как удалить maxDate в datepicker?

Например мой DateStarted является 09/26/2016 и End является 09/30/2016 имеет maxDate and minDate, как вы можете видеть каждый из кода. Я хочу, если я очищу EnddatemaxDate в Startdate будет удален, он может снова выбрать целых 12 месяцев.

HTML

< input type="text" id = "TrainingProgram_DateStarted" > 
< input type="text" id = "TrainingProgram_DateEnded" > 

JS

$("#TrainingProgram_DateStarted").datepicker({ 
    changeMonth: true, 
    changeYear: true, 
    onSelect: function (dateText) { 
     $("#TrainingProgram_DateEnded").datepicker('option', 'minDate', dateText); 
    } 
}); 

$("#TrainingProgram_DateEnded").datepicker({ 
    changeMonth: true, 
    changeYear: true, 
    onSelect: function (dateText) { 
     $("#TrainingProgram_DateStarted").datepicker('option', 'maxDate', dateText); 
    } 
}); 

FIDDLE

+0

** я abovestand вас. пожалуйста * объясните * больше. ** –

+0

Пожалуйста, попробуйте мою скрипку, чтобы вы могли понять немного, если мое объяснение не очень хорошо объяснено. –

ответ

0

onSelect событие DatePicker срабатывает, когда значение из DatePicker выбран. если вы очистите входное значение, это событие не будет вызвано. У вас должно быть событие изменения для enddate и проверьте, пусто ли значение. если пусто, то установите MaxDate ввода начального утратившим:

$("#TrainingProgram_DateEnded").change(function(){ 
    if($(this).text().trim().length == 0) 
    $("#TrainingProgram_DateStarted").datepicker('option', 'maxDate', null); 
}).datepicker({ 
    changeMonth: true, 
    changeYear: true, 
    onSelect: function (dateText) { 
     $("#TrainingProgram_DateStarted").datepicker('option', 'maxDate', dateText); 
    } 
}); 

Working Demo

+0

Я пробую функцию '.change', но я не пробовал' trim и length' .. Спасибо –

+0

@Yukki: рад, что это помогает :) –

+0

Это действительно помогает мне и решает мою проблему :) –

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