Обновить диапазон выбора даты Bootstrap

Я сделал скрипт JS: https://jsfiddle.net/12uop4ud/

$(function(){
    var mode_calcul = 0;

    $('#zone_input .input-daterange').datepicker({
        language: "fr",
        format: "yyyy-mm-dd",
        minViewMode: 0,
    });

    $('#minViewMode').on('change',function(){

        mode_calcul = parseInt($(this).val());

        $('#zone_input .input-daterange').datepicker('remove').find('input').val('');
        if(mode_calcul == 0){
            $('#zone_input .input-daterange').datepicker({
                language: "fr",
                format: "yyyy-mm-dd",
                minViewMode: 0
            });     
        }else{
            $('#zone_input .input-daterange').datepicker({
                language: "fr",
                format: "yyyy-mm",
                minViewMode: 1
            });     
        }
    });
});

У меня есть диапазон выбора даты и выбор ввода. Когда вы меняете ввод выбора на «Semaine» на «Mois» (еженедельно на ежемесячно), я хочу изменить «режим просмотра» всех средств выбора даты.

Сделаем тест:

  • В начальном средстве выбора даты выберите дату.
  • В конце выбора даты выберите другую дату.

В это время все в порядке

  • Измените вход выбора на «Mois» (ежемесячно)
  • Начальная и конечная датапикеры были очищены.
  • Щелкните в начальном средстве выбора даты.

В настоящее время мы видим, что представление средства выбора даты было изменено в «Просмотр месяца».

  • Выбрать дату.

В это время мы видим первую проблему: выбранная дата была в следующем формате "ГГГГ-ММ-ДД"... но когда средство выбора даты закрыто, дата автоматически была в правильном формате ГГГГ-ММ...

Если вы выберете «Semaine» (еженедельно) в поле выбора, все поля будут очищены.

  • Выберите дату начала.

Видите, что средство выбора конечной даты перезагружает конечную дату, но в неправильном формате...

Не могли бы вы помочь мне ?

Спасибо !


person Captain Nemo    schedule 02.10.2015    source источник


Ответы (1)


Вам просто нужно снова установить для параметров значение null, прежде чем устанавливать его.

Я добавил приведенную ниже функцию и сбросил дату, прежде чем снова установить:

function resetDate(inputDate){
    inputDate.datepicker( "option" , {
    minDate: null,
    language: null,
    format: null, 
    minViewMode: null, 
    maxDate: null} );
}

ДЕМО

Я надеюсь, что это помогает.

person gon250    schedule 02.10.2015