问题
I want to make date range selection using jquery-ui datepicker. First change at #dteStart succeed to set minDate at #dteEnd.
But #dteEnd failed to refresh its options on next change, if i alert
DateOptions.minDate
its value changed according to dateMin.
Maybe i miss something here...
$(document).ready(function ()
{
$("#dteStart").datepicker()
.change(function ()
{
dateStart = $(this).datepicker('getDate');
dateMin = new Date(dateStart.getTime());
dateMin.setDate(dateMin.getDate() + 1);
var DateOptions = {
dateformat: "mm/dd/yyyy",
minDate: dateMin
}
$("#dteEnd").datepicker(DateOptions);
});
});
TIA,
REV
回答1:
put $("#dteEnd").datepicker("destroy");
before $("#dteEnd").datepicker(DateOptions);
and it will work fine.
回答2:
If you just want to change the already configured options, you can also do:
$("#dteEnd").datepicker("option", DateOptions);
or
$("#dteEnd").datepicker("option", { dateFormat: "mm/dd/yyyy" });
回答3:
The following jQuery helper function may be useful in such cases to preserve the original options:
$.fn.customizeDatepicker = function(newOptions) {
var prevOptions = $(this).datepicker('option', 'all');
$(this).datepicker('destroy').datepicker($.extend(prevOptions, newOptions));
return this;
};
It saves the previous options and extends them with the new options.
来源:https://stackoverflow.com/questions/4373072/change-option-dynamically-in-jquery-ui-datepicker-fails