Jquery日历2路块日期

时间:2011-06-30 11:36:23

标签: javascript jquery jquery-ui calendar

我正在使用jquery ui日期选择器 我的查询与其他所有问题不同,因为我需要2个自定义方法来阻止日期

    <script>
        var unavailableDates = ["5-7-2011","6-7-2011","7-7-2011","15-7-2011","16-7-2011","17-7-2011" ];


function unavailable(date) {
  dmy = date.getDate() + "-" + (date.getMonth()+1) + "-" + date.getFullYear();
  if ($.inArray(dmy, unavailableDates) == -1) {
    return [true, ""];
  } else {
    return [false,"","Unavailable"];
  }
}
$(function() {
    $( "#datepicker_1,#datepicker_2" ).datepicker({
        beforeShowDay: unavailable,
        changeMonth: true,
        changeYear: true
    });
});

我已经自定义了我的代码以禁用几个日期,我也参考了,但我也希望其他日期选择器根据第一个设置日期 例如对于选择器2(这是最大日期)我选择7月4日,比选择1应该有比今天更大但是小于4月4日...如果我从选择器1(最小日期)选择7月1日它应该禁用所有以前的日期...

我的问题类似于jQuery datepicker- 2 inputs/textboxes and restricting range,但是我需要先禁用一些日期

任何帮助都会受到极大的赞赏,因为我是jquery的新蜜蜂

here is jsfiddle

1 个答案:

答案 0 :(得分:1)

$(function() {      $( "#datepicker_1,#datepicker_2" ).datepicker({
             beforeShow: customRange,           beforeShowDay: unavailable,             changeMonth: true,          changeYear: true        });     });         function customRange(input) {   if (input.id == 'datepicker_2') {
    return {
      minDate: jQuery('#datepicker_1').datepicker("getDate")
    };   } else if (input.id == 'datepicker_1') {
    return {
      maxDate: jQuery('#datepicker_2').datepicker("getDate")
    };   } }

如果有帮助的话,试试这个