动态地禁用jquery datepicker中的日期

时间:2011-09-26 08:07:45

标签: jquery-ui-datepicker

var birthDate;
$(function() {
    var currentDate = new Date();
    $("#BirthDate").datepicker({
        dateFormat: "mm/dd/yy",
        showOn: "button",
        buttonImage: "../Images/cal.gif",
        buttonImageOnly: true,
        changeMonth: true,
        changeYear: true,
        maxDate: currentDate,
        yearRange: "-90:+10",
        onSelect: function(dateText, inst) { birthDate = dateText;}
    });
});
$(function() {
    var currentDate = new Date();
    $("#MaritalStatusDate").datepicker({
        dateFormat: "mm/dd/yy",
        showOn: "button",
        buttonImage: "../Images/cal.gif",
        buttonImageOnly: true,
        changeMonth: true,
        changeYear: true,
        minDate: birthDate,
        maxDate: currentDate,
        yearRange: "-90:+10"
    });

});

在上面的代码中,我尝试根据$("#MaritalStatusDate")中选择的日期禁用$("#BirthDate")个日期。我在onSelect中使用BirthDate事件来标识所选日期,并将值存储在全局声明的变量中。使用变量我在minDate中设置了$("#MaritalStatusDate")。但是根据minDate值不会禁用日期。在将值赋给变量时是否需要更改日期格式?有人可以帮我这样做吗?

1 个答案:

答案 0 :(得分:3)

您只需在minDate事件中为$('#MaritalStatusDate')设置onSelect即可。

$("#BirthDate").datepicker({
    ...
    onSelect: function(dateText, inst) {
        $('#MaritalStatusDate').datepicker('option', 'minDate', dateText);
    }
});

请参阅此操作:http://jsfiddle.net/william/2q7TN/