Динамическое изменение указателя даты в jQuery UD
Мне нужно изменить minDate
DatePicker jQuery каждый значение времени #position
или же #type
изменения. В настоящее время значение для minDate
меняется только в первый раз #position
или же #type
вызывает .change()
метод.
В настоящее время я использую код ниже:
$("#position, #type").change(function(){
var pos = $("#position").val();
var type = $("#type").val();
var url = "getdate/"+type+"/"+pos;
$.get(url, function(msg){
$('.date1').datepicker({
MinDate: msg
});
});
})
1 ответ
Решение
Это потому, что вы заново инициируете .datepicker
метод каждый раз, когда есть .change()
событие.
Вместо этого инициируйте datepicker
однажды в классе .date1
а затем изменить MinDate
следующее:
$('.date1').datepicker('option', 'minDate', msg);
Так что это даст:
// first initialise
$('.date1').datepicker({
MinDate: msg
});
$("#position, #type").change(function(){
var pos = $("#position").val();
var type = $("#type").val();
var url = "getdate/"+type+"/"+pos;
$.get(url, function(msg){
// then change
$('.date1').datepicker('option', 'minDate', msg);
});
})
Кроме того, вы также можете уничтожить .datepicker
объект следующим образом:
$('.date1').datepicker('destroy');
А затем воссоздать объект, как в вашем собственном коде. Таким образом, в сочетании это даст:
// first initialise
$('.date1').datepicker({
MinDate: msg
});
$("#position, #type").change(function(){
var pos = $("#position").val();
var type = $("#type").val();
var url = "getdate/"+type+"/"+pos;
$.get(url, function(msg){
// first destroy
$('.date1').datepicker('destroy');
// then recreate
$('.date1').datepicker({
MinDate: msg
});
});
})
Также, пожалуйста, обратитесь к этому вопросу и ответьте: