笔者在使用mobiscroll开发一个项目的时候,由于只能选择今天以后的日期,看到其配置项里面startYear可以设置开始年份,所以笔者照猫画虎配置了startMonth和startDay,但是mobiscroll不支持这两个参数,本文所的内容是修改mobiscroll的源码,让其支持startMonth和startDay
修改mobiscroll.js
这样mobiscroll就只能选择今天以后的日期了
首先看加载文件的写法:
<script src="__PUBLIC__/js/jquery-1.8.3.min.js"></script>
<script src="__PUBLIC__/js/mobiscroll_date.js" charset="gb2312"></script>
<script src="__PUBLIC__/js/mobiscroll.js"></script>
其次是配置项(根据自己的配置,主要增加startMonth, startDay参数):
<script type="text/javascript">
$(function () {
var currYear = (new Date()).getFullYear(); // 获取年
var currMonth = (new Date()).getMonth(); // 获取月
var currDay = (new Date()).getDate(); // 获取日
var opt={};
opt.date = {preset : 'date'};
opt.datetime = {preset : 'datetime'};
opt.time = {preset : 'time'};
opt.default = {
theme: 'android-ics light', //皮肤样式
display: 'modal', //显示方式
mode: 'scroller', //日期选择模式
dateFormat: 'yyyy-mm-dd',
lang: 'zh',
showNow: true,
nowText: "今天",
startDay: currDay,
startMonth: currMonth, // 开始月份
startYear: currYear, //开始年份
endYear: currYear + 1 //结束年份
};
$("#start").mobiscroll($.extend(opt['date'], opt['default']));
});
</script>
修改mobiscroll.js
mind = s.minDate || new Date(s.startYear, 0, 1)
修改为:
mind = s.minDate || new Date(s.startYear, s.startMonth, s.startDay)
这样mobiscroll就只能选择今天以后的日期了