2016-07-01 2 views
0
ссылка

Код: https://jsfiddle.net/manikiran1/9cmLuuk1/Jquery UI выбора даты Кастомизация ошибка

Я выбрал дату начала 1 янв 2013, то дата окончания должна быть уже заполнена с указанием даты начала и он будет показывать падение вниз автоматически получать фокус (если дата окончания пуст) теперь выпадающий список покажет параметры календаря в jan, 2013, чтобы я мог выбрать любую дату в этом выборе. Теперь моя проблема
1. Я выбрал дату начала, как jan 1,2013
2.the конец дата автоматически отобразит календарный календарь с выбором даты начала.
3. Теперь я хочу выбрать год как 2015, но он не меняется в раскрывающемся меню календаря для выбора в первый раз. Но если вы снова выбираете, он работает нормально.
Так что, пожалуйста, помогите мне избежать этой ошибки.

$("#datepicker1").datepicker("option", "minDate", selectedDate); 
     var a = $("#datepicker1").datepicker("getDate"); 
     var b = $("#datepicker").datepicker("getDate"); 
     var c = new Date(a); 
     var d = new Date(b); 
     if (a == null) { 
     document.getElementById("datepicker1").focus(); 
     $("#datepicker1").datepicker('setDate', selectedDate); 
     } 
     if (d.getTime() == c.getTime()) { 
     document.getElementById("datepicker1").focus(); 
     $("#datepicker1").datepicker('setDate', selectedDate); 
     } 
    } 
    }); 
    $("#datepicker1").datepicker({ 
    maxDate: new Date(), 
    yearRange: "2011:new Date()", 
    changeMonth: true, 
    changeYear: true, 
    dateFormat: "M dd,yy", 
    onClose: function(selectedDate) { 
     var b = $("#datepicker").datepicker("getDate"); 
     if (b == null) { 
     document.getElementById("datepicker").focus(); 
     } 
    } 
    }); 
}); 

ответ

0

попробуйте добавить эту

onChangeMonthYear:function(y, m, i){         
var d = i.selectedDay; 
$(this).datepicker('setDate', new Date(y, m - 1, d)); 
}, 

полная функция будет

$("#datepicker1").datepicker({ 
maxDate: new Date(), 
yearRange: "2011:new Date()", 
changeMonth: true, 
changeYear: true, 
dateFormat: "M dd,yy", 
onChangeMonthYear:function(y, m, i){         
var d = i.selectedDay; 
$(this).datepicker('setDate', new Date(y, m - 1, d)); 
}, 
onClose: function(selectedDate) { 
    var b = $("#datepicker").datepicker("getDate"); 
    if (b == null) { 
    document.getElementById("datepicker").focus(); 
    } 
} 
}); 

скрипач: https://jsfiddle.net/6h3zto4y/

+0

спасибо глубоко, что он работает, но, возможно, я знаю причину, почему мой код не удалось изначально? –