Input 类型 - Date Pickers(日期选择器)
成都创新互联公司专注于企业营销型网站、网站重做改版、大足网站定制设计、自适应品牌网站建设、成都h5网站建设、购物商城网站建设、集团公司官网建设、成都外贸网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为大足等各大城市提供网站开发制作服务。
HTML5 拥有多个可供选取日期和时间的新输入类型:
date - 选取日、月、年
month - 选取月、年
week - 选取周和年
time - 选取时间(小时和分钟)
datetime - 选取时间、日、月、年(UTC 时间)
datetime-local - 选取时间、日、月、年(本地时间)
Date: input type="date" name="user_date" /
实现原理很简单,就是用一个text input做初始化日期展示,右边的向下箭头用label实现,设置for属性为text input的id。这样点击label时自动聚焦到input。text input获取焦点后立即将自己的type改为date,这样就有date picker的行为了。失去焦点后再改回type=”text”,依旧显示text input。如果仅仅是这样,还有个小问题,就是当input是text类型的时候,直接点击input,虽然type变成date了,但并不会触发picker,而是需要再次点击。这显然不符合要求,需要继续改善。受到前面的label启发,我们可以在input上方覆盖一个透明的label,同样设置for属性为input的id。这样就不能直接点击到input,而是上层的label,同样会触发picker。至此,貌似完美解决了问题。但是且慢,在iPhone上用浏览器打开,发现无法触发picker!这是要闹哪样?无奈,只好在label上再监听点击事件,用代码将input改为date,同时让它获取焦点。
Datepicker 的选项中有一个 minDate(最小日期),如果你把 minDate 设为当前日期,之前的日期就都不能选了。
minDate 可以为
1、日期对象,例如 new Date()
2、也可以是整数,例如 3 代表 3 天后,-1 代表昨天,0 代表今天
3、也可以是字符串,例如 1w 代表 1 星期后,-2m 代表 两个月之前
所以你的问题,可以设置为日期对象(当前)或者0。
$("#ele").datepicker({
minDate: new Date()
});
或者
$("#ele").datepicker({
minDate: 0
});
应该是data-属性吧?这个方法比较多,用字符串截取(split)或者正则都可以实现。下面以字符串截取为例:
var AA=$("a.eee").attr("data-role").split("-");
$("a.eee").click(function(){
$(this).attr("data-role",AA[0] + AA[1] + AA[2]);
alert($("a.eee").attr("data-role"));
})
a class="eee" data-role="2015-05-05"2015-05-05/a
点击这个a标签就能将2015-05-05改成20150505了。
html5的date的原生样式更改的方法是增加webkit属性。
比如:
input[type="date"]::-webkit-outer-spin-button{}
所有适用于date输入域的样式设置如下:
input[type="date"]{}
input[type="month"]{}
input[type="time"]{}
input[type="week"]{}
input[type="datetime"]{}
input[type="datetime-local"]{}
input::-webkit-datetime-edit{}
input::-webkit-datetime-edit-fields-wrapper{}
input::-webkit-datetime-edit-ampm-field{}
input::-webkit-datetime-edit-day-field{}
input::-webkit-datetime-edit-hour-field{}
input::-webkit-datetime-edit-millisecond-field{}
input::-webkit-datetime-edit-minute-field{}
input::-webkit-datetime-edit-month-field{}
input::-webkit-datetime-edit-second-field{}
input::-webkit-datetime-edit-week-field{}
input::-webkit-datetime-edit-year-field{}
input::-webkit-datetime-edit-ampm-field:focus{}
input::-webkit-datetime-edit-day-field:focus{}
input::-webkit-datetime-edit-hour-field:focus{}
input::-webkit-datetime-edit-millisecond-field:focus{}
input::-webkit-datetime-edit-minute-field:focus{}
input::-webkit-datetime-edit-month-field:focus{}
input::-webkit-datetime-edit-second-field:focus{}
input::-webkit-datetime-edit-week-field:focus{}
input::-webkit-datetime-edit-year-field:focus{}
input::-webkit-datetime-edit-year-field[disabled]{}
input::-webkit-datetime-edit-month-field[disabled]{}
input::-webkit-datetime-edit-week-field[disabled]{}
input::-webkit-datetime-edit-day-field[disabled]{}
input::-webkit-datetime-edit-ampm-field[disabled]{}
input::-webkit-datetime-edit-hour-field[disabled]{}
input::-webkit-datetime-edit-millisecond-field[disabled]{}
input::-webkit-datetime-edit-minute-field[disabled]{}
input::-webkit-datetime-edit-second-field[disabled]{}
input::-webkit-datetime-edit-text{}
input::-webkit-inner-spin-button{}
input::-webkit-calendar-picker-indicator{}
input::-webkit-calendar-picker-indicator:hover{}