.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
});
});
})
另外,请参考这个问题和答案:
jQuery DatePicker -- 动态更改 minDate 和 maxDate