2012-04-13 3 views
39

Привет, я хочу установить дату min в моем jquery datepicker (1999-10-25), поэтому я попробовал приведенный ниже код, чтобы он не работал.установка минимальной даты в jquery datepicker

$(function() { 
    $('#datepicker').datepicker({ 
     dateFormat: 'yy-mm-dd', 
     showButtonPanel: true, 
     changeMonth: true, 
     changeYear: true, 
     showOn: "button", 
     buttonImage: "images/calendar.gif", 
     buttonImageOnly: true, 
     minDate: new Date(1999, 10 - 1, 25), 
     maxDate: '+30Y', 
     inline: true 
    }); 
}); 

** если я изменить мин год выше 2002, чем он будет работать нормально, но если я задать мин год меньше, чем 2002 {как выше eexample 1999} он будет показывать только до 2002.can кто-то мне помочь , Я использую jquery-1.7.1.min.js и jquery-ui-1.8.18.custom.min.js.

ответ

79
$(function() { 
    $('#datepicker').datepicker({ 
     dateFormat: 'yy-mm-dd', 
     showButtonPanel: true, 
     changeMonth: true, 
     changeYear: true, 
yearRange: '1999:2012', 
     showOn: "button", 
     buttonImage: "images/calendar.gif", 
     buttonImageOnly: true, 
     minDate: new Date(1999, 10 - 1, 25), 
     maxDate: '+30Y', 
     inline: true 
    }); 
}); 

Только добавлена ​​опция диапазон год. Он должен решить проблему

+0

Благодаря Человек это работает – user1184777

+0

благодаря @Gaurv. его рабочий штраф. –

+0

Приятно полезно –

1

Хийя работает демо: http://jsfiddle.net/femy8/

Теперь календарь будет идти только минимум 1999-10-25.

Нажмите на изображение, то есть значок рядом с текстовым полем для отображения календаря. Вы можете попробовать выбрать до 1999 года, но минимальная дата для отбора - 25 октября. Это то, что вы хотите.

Это поможет, у вас будет хороший! :) привет!

Jquery код

$(".mypicker").datepicker({ 
    changeYear: true, 
    dateFormat: 'yy-mm-dd', 
    showButtonPanel: true, 
    changeMonth: true, 
    changeYear: true, 
    showOn: "button", 
     buttonImage: "images/calendar.gif", 
     buttonImageOnly: true, 
     minDate: new Date('1999/10/25'), 
     maxDate: '+30Y', 
     inline: true 
}); 


​ 
13

Проблема заключается в том, что параметр по умолчанию "yearRange" составляет 10 лет.

2012 - 10 = 2002.

Так измените yearRange на c-20:c или просто на 1999 (yearRange: '1999:c') и используйте это в сочетании с датами ограничения (mindate, maxdate).

Для получения дополнительной информации: http://jqueryui.com/demos/datepicker/#option-yearRange


Смотрите пример: http://jsfiddle.net/kGjdL/

И ваш код с добавлением:

$(function() { 
    $('#datepicker').datepicker({ 
     dateFormat: 'yy-mm-dd', 
     showButtonPanel: true, 
     changeMonth: true, 
     changeYear: true, 
     showOn: "button", 
     buttonImage: "images/calendar.gif", 
     buttonImageOnly: true, 
     minDate: new Date(1999, 10 - 1, 25), 
     maxDate: '+30Y', 
     yearRange: '1999:c', 
     inline: true 
    }); 
}); 
+0

хорошего краткое объяснение – sockmonk

0

Просто хочу добавить это только для будущего программиста.

Этот код ограничивает дату min и max. год полностью контролируется путем получения текущего года как максимального года.

Надеюсь, это может помочь любому.

Вот код.

var dateToday = new Date(); var yrRange = '2014' + ":" + (dateToday.getFullYear());

$(function() { 
    $("[id$=txtDate]").datepicker({ 
     showOn: 'button', 
     changeMonth: true, 
     changeYear: true, 
     showButtonPanel: true, 
     buttonImageOnly: true, 
     yearRange: yrRange, 
     buttonImage: 'calendar3.png', 
     buttonImageOnly: true, 
     minDate: new Date(2014,1-1,1), 
     maxDate: '+50Y', 
     inline:true 
    }); 
}); 
0

Попробуйте как этот

<script> 

    $(document).ready(function(){ 
      $("#order_ship_date").datepicker({ 
      changeMonth:true, 
      changeYear:true,   
      dateFormat:"yy-mm-dd", 
      minDate: +2, 
     }); 
    }); 


</script> 

HTML код приведен ниже

<input id="order_ship_date" type="text" class="input" style="width:80px;" /> 
+1

Не могли бы вы подробнее рассказать о своем ответе, добавив немного подробного описания решения, которое вы предоставляете? – abarisone

0

в основном, если вы уже указать год диапазона нет необходимости использовать mindate и maxdate если только год требуется

2

На всякий случай, если, например, вам нужно поставить минимум дата, последние 3 месяца и максимум дата следующего 3 месяца

$('#id_your_date').datepicker({ 
    maxDate: '+3m', 
    minDate: '-3m' 
}); 
Смежные вопросы