2013-07-20 66 views
2

我很想使用html5日期函数来允许用户选择一个日期。我知道(仍然)有限的浏览器支持这个功能,并利用JQuery datepicker插件对不支持的浏览器进行回退 - 这很好。html5 datepicker设置最小值和最大值

jQuery的日期选择器允许分钟的设置和最大日期....

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

我明白HTML5版本使用minmax元素尚未设置这些我一直无法找到正确的格式化来表示上述 - 我已经找到的所有示例都使用了这些字段中的特定日期。

+0

你想说明什么上述手段? – Musa

+0

基本上,我在为用户设置最小和最大区域以从html5日期选择器中选择日期之后。换句话说,它不应该允许选择最小和最大日期之外的日期。 – Sideshow

+0

'minDate:0,maxDate:“+ 2M”'是什么意思? – Musa

回答

3

我f and and and地找到了以下解决方案,它采用当前日期,修复日/月的位数< 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

相关问题