2013-07-20 3 views
2

Я хочу использовать функцию даты html5, чтобы пользователь мог выбрать дату. Я знаю (по-прежнему) ограниченную поддержку браузера для этой функции и использовал резервную копию для не поддерживаемых браузеров с использованием плагина DatePicker JQuery - это отлично работает.html5 datepicker set min и max значения

DatePicker Jquery позволяет устанавливать мин и даты макс ....

$('#amender').datepicker({ dateFormat: "dd/mm/yy", minDate: 0, maxDate: "+2M"}); 

Я понимаю, что версия html5 использует min и max элементы, чтобы установить их пока я не смог найти правильный форматирование для представления выше - все приведенные мной примеры используют конкретные даты в этих полях.

+0

Вы хотите, чтобы объяснить, что вышеуказанные средства? – Musa

+0

В основном я устанавливаю минимальную и максимальную область для того, чтобы пользователь мог выбрать дату из html5 datepicker. Другими словами, он не должен позволять выбирать даты за пределами минимальной и максимальной даты. – Sideshow

+0

Что означает 'minDate: 0, maxDate:" + 2M "? – Musa

ответ

3

Я нашел следующее решение, которое принимает текущую дату, фиксирует количество цифр за день/месяц < 10 и создает датупик с требуемым диапазоном.

// get current date 
var d = new Date(); 
// add 2 month and auto adjust date 
d.setMonth(d.getMonth()+2); 

// make 2 digits out of 1 
var day = d.getDate(); 
if(day<10) 
day = "0"+day; 

var month = d.getMonth()+1; 
if(month<10) 
month = "0"+month; 

// same for current (to be the min later) 
var cDay = d.getDate(); 
if(cDay<10) 
cDay = "0"+cDay; 

var cMonth = d.getMonth()+1; 
if(cMonth<10) 
cMonth = "0"+cMonth; 

var curEntry = d.getYear()+1900+"-"+cMonth+"-"+cDay; 
var dateEntry = d.getYear()+1900+"-"+month+"-"+day; 

// create the datepicker with appropriate min and max 
document.write("<input type='date' min='"+curEntry+"' max='"+dateEntry+"'>"); 

+0

Отлично - это похоже на работу, хотя это кажется длинным обходным решением по сравнению с настройками версии jQuery. До сих пор это единственный надежный ответ, который я натолкнулся на все :) – Sideshow

Смежные вопросы