mobiscroll实现年月日分别选择

mobiscroll实现年月日分别选择

感谢向上爬的蜗牛提供的mobiscroll破解版
http://blog.csdn.net/abld99/article/details/53542041

最近微信项目需要实现分别输入年月日的选项,网上找了很多最终效果如下

这里写图片描述
这里写图片描述

头部引入:

<link rel="stylesheet" type="text/css" href="css/mobiscroll.custom-3.0.0-beta2.min.css"/>  
<script src="js/mobiscroll.custom-3.0.0-beta2.min.js" type="text/javascript" charset="utf-8"></script>

HTML代码:

<input id="integer1" placeholder="年" />
<input id="integer2" placeholder="月" />  
<input id="integer3" placeholder="日" />

JS部分:

//年
var instance1 = mobiscroll.number('#integer1', {
        lang: 'zh',
        display: 'bottom',
        layout: 'fixed',
        step: 1,  //前后数字差,可根据这个参数来设置2468之类的数字选择
        min: 2000,  //最小数字
        max: 2017,  //最大数字
        width: 120,     
        defaultValue:2000,  //刚显示出来时选择的数字
        theme:'ios'  //主题
 });

 //月
 var instance2 = mobiscroll.number('#integer2', {
        lang: 'zh',
        display: 'bottom',
        layout: 'fixed',
        step: 1,  //前后数字差,可根据这个参数来设置2468之类的数字选择
        min: 1,  //最小数字
        max: 12,  //最大数字
        width: 120,     
        defaultValue:1,  //刚显示出来时选择的数字
        theme:'ios'  //主题
 });

//监听年月值输入的变化,来设置天数
$('#integer2,#integer1').bind('change',function(){
    if($('#integer3').val()==''){
        var instance3 = mobiscroll.number('#integer3', {
              lang: 'zh',
              display: 'bottom',
              layout: 'fixed',
              step: 1,        
              min: 1,         
              max:getDays($('#integer1').val(),$('#integer2').val()),
              width: 120,     
              defaultValue:1,    //刚显示出来时选择的数字
              theme:'ios'      //主题
            });
    }else{
        //所选天数大于第二次选择后的实际天数
        if($('#integer3').val()>getDays($('#integer1').val(),$('#integer2').val())){
            $('#integer3').val('');
        }
    }
 })

 //获取天数
 function getDays(year,mouth){
        //定义当月的天数;
        var days ;
        //当月份为二月时,根据闰年还是非闰年判断天数
        if(mouth == 2){
            days= year % 4 == 0 ? 29 : 28;
        }
        else if(mouth == 1 || mouth == 3 || mouth == 5 || mouth == 7 || mouth == 8 || mouth == 10 || mouth ==12{
            //月份为:1,3,5,7,8,10,12 时,为大月.则天数为31;
            days= 31;
        }
        else{
            //其他月份,天数为:30.
            days= 30;
        }
        return days;
    }
})

demo

下载完整[demo]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值