整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

每日分享,三款纯jquery移动端日期时间选择插件

言:mm再也不用担心我找不到合适好看的日期选择插件了,今天分享三款纯jquery移动端日期时间选择插件,赶紧点赞收藏转发吧。

一、jQuery移动端触屏滑动时间日期选择插件

简介:jQuery移动端触屏滑动时间日期选择插件,点击文本框触发时间选择控件,默认选择当前日期,选好的以红色显示。

js代码:

<script> 
   //选择 YYYY-MM-dd 格式的调用: 
   $.selectYY_MM_DD("#select_0"); 
 
   $('.title').html('选择起始时间') 
//    $(function () { 
//             var currYear = (new Date()).getFullYear();    
//             var opt={}; 
//             opt.date = {preset : 'date'}; 
//             opt.default = { 
//                 theme: 'android-ics light', //皮肤样式 
//                 display: 'modal', //显示方式  
//                 mode: 'scroller', //日期选择模式 
//                 lang:'zh', 
//                 startYear:currYear-10, //开始年份 
//                 endYear:currYear + 10 //结束年份 
//             }; 
              
//             $("#start_kdsj").val('').scroller($.extend(opt['date'], opt['default'])); 
//             $("#end_kdsj").val('').scroller($.extend(opt['date'], opt['default'])); 
//         }); 
</script> 
<script> 
    $.selectYY_MM_DD("#select_1"); 
 
           var myDate = new Date; 
            var year = myDate.getFullYear(); //获取当前年 
            var mon = myDate.getMonth() + 1; //获取当前月 
            var date = myDate.getDate(); //获取当前日 
            console.log(year,mon,date) 
</script>

二:简单的jQuery移动端日期时间选择插件

简介:一款简单的jQuery手机移动端日期时间选择插件,点击输入框遮罩弹出日期时间选择器,手机触屏滑动分别选择年、月、日、时、分。

js代码:

<script type="text/javascript" src="js/jquery.min.js"></script> 
<script type="text/javascript" src="js/jquery.date.js"></script> 
<script type="text/javascript"> 
$.date('#date3'); 
</script>

三:datePicker简单的手机移动端日期选择插件

简介:datePicker是一款非常简单易用的手机移动端日期选择插件,点击输入框触发弹出年月日滑动选择控件。

js代码:

<script src="datePicker.js"></script> 
    <script> 
    var calendar = new datePicker(); 
calendar.init({ 
    'trigger': '#demo1', /*按钮选择器,用于触发弹出插件*/ 
    'type': 'date',/*模式:date日期;datetime日期时间;time时间;ym年月;*/ 
    'minDate':'1900-1-1',/*最小日期*/ 
    'maxDate':'2100-12-31',/*最大日期*/ 
    'onSubmit':function(){/*确认时触发事件*/ 
        var theSelectData=calendar.value; 
    }, 
    'onClose':function(){/*取消时触发事件*/ 
    } 
}); 
     
    </script>

以上是为大家分享的三款纯jquery移动端日期时间选择插件,有需要以上代码的可以在下方给我留言。

我是小程序软件开发,每天分享开发过程中遇到的知识点,如果对你有帮助的话,帮忙点个赞再走呗,非常感谢。

往期文章分享:

程序员搞笑的段子,总有一条戳中你的笑点

微信小程序editor富文本编辑器的使用,拿走不谢

例简介

1. 兼容IE8-11、360浏览器、chrome、firefox等主流浏览器,手机端也可使用;

2. 添加点击前一周、后一周和高亮等功能。

实现原理

1、初始化周历原理:

首先获取表示当前星期几的数字currDay = d.getDay(),一般是0(周日)-6(周六);

然后把值取负数传到方法creatWeeklyCalendar进行循环显示一周时间;

Tips:方法calcTime是利用当前毫秒数+-循环数的毫秒数(someTime = d.getTime() + (24 * 60 * 60 * 1000) * num)算出这天的年月日。

for (var i = some, len = some + 7; i < len; i++) {
    if (this.calcTime(i).month == currMonth && this.calcTime(i).date == currDate) {
        html += '<li class="active"><a href="javascript:;" data-year="' + this.calcTime(i).year + '" title="' + this.calcTime(i).month + '月">' + this.calcTime(i).date + '</a></li>';
    } else {
        html += '<li><a href="javascript:;" data-year="' + this.calcTime(i).year + '" title="' + this.calcTime(i).month + '月">' + this.calcTime(i).date + '</a></li>';
    }
}

最后把html输出到页面。

2、前一周和后一周原理:

首先利用点击前一周和后一周按钮,对计算数clickedTimes进行+-;

然后把clickedTimes新值传到方法changeWeek;

最后执行this.creatWeeklyCalendar(-currDay - (7 * clickedTimes)),重新输出新一周的数据。

3、最后把构造函数暴露window.WeeklyCalendar = WeeklyCalendar。

全部代码

公司上班有一个月了,公司的项目界面都是用easyui做的,这里总结一些遇到的easyui插件的问题,方便以后用到时可以参考。本次就先说说easyui的datetimebox插件。

1.多个时间输入框,后面的时间一次比前一个输入框时间大。如:time1<time2<time3.时间不正确时,会返回false,同时会有提示。

如下图:

代码如下:HTML代码:


  1. <td align="right" style="width:20%;">时间1:</td>
  2. <td>
  3. <input type="text" id="time1" style="width: 195px" required="true" editable="false"
  4. class="easyui-datetimebox"/>
  5. </td><br/>
  6. <td align="right" style="width:20%;">时间2:</td>
  7. <td>
  8. <input type="text" id="time2" style="width: 195px" required="true" editable="false"
  9. validType="TimeCheck['time1']" invalidMessage="time2要大于time1"
  10. class="easyui-datetimebox"/>
  11. </td><br/>
  12. <td align="right" style="width:20%;">时间3:</td>
  13. <td>
  14. <input type="text" id="time2" style="width: 195px" required="true" editable="false"
  15. validType="TimeCheck['time2']" invalidMessage="time3要大于time2"
  16. class="easyui-datetimebox"/>
  17. </td>

js代码:


  1. <script type="text/javascript">
  2. $.extend($.fn.validatebox.defaults.rules,{
  3. TimeCheck:{
  4. validator:function(value,param){
  5. var s = $("input[name="+param[0]+"]").val();
  6. //因为日期是统一格式的所以可以直接比较字符串 否则需要Date.parse(_date)转换
  7. return value>=s;
  8. },
  9. message:'非法数据'
  10. }
  11. });
  12. </script>

注释:这种方法有个弊端,就是如果先输入后面time2的日期,在输入前面time1的日期,并且time2<time1的话,不会有提示,但是提交表单的时候,会返回false。

2.上面一个年份输入框,选择一个年份,下面输入框的年份必须与上面所选年份相同。如图:

HTML代码:


  1. <td align="right" style="width:20%;">年 份:</td>
  2. <td>
  3. <select id="year" style="width:195px;" class="easyui-combobox" panelHeight="auto" editable="false">
  4. <option value="2014">2014</option>
  5. <option value="2015">2015</option>
  6. <option value="2016">2016</option>
  7. </select>
  8. </td><br/>
  9. <td align="right" style="width:20%;">时间1:</td>
  10. <td>
  11. <input type="text" id="time1" validType="TimeCheck" invalidMessage="所选时间年份必须与所选年份相同" style="
  12. width: 195px" required="true" editable="false" class="easyui-datetimebox"/>
  13. </td><br/>
  14. <td align="right" style="width:20%;">时间2:</td>
  15. <td><span style="font-family: Arial, Helvetica, sans-serif;"><input type="text" id="time2" validType="TimeCheck" invalidMessage="所选时间年份必须与所选年份相同" style="width: 195px" required="true" editabl="false" class="easyui-datetimebox"/></td></span>
  1. js代码:
  2. <script type="text/javascript">
  3. $.extend($.fn.validatebox.defaults.rules,{
  4. TimeCheck:{
  5. validator:function(value,param){//value是所选文本的值,字符串类型
  6. var y=$('#year').combobox('getValue').valueOf();//取出下拉框的值
  7. var time=new Date(Date.parse(value.replace(/-/g, "/")));//将文本框自带的值(字符串)转换成Date类型
  8. var t=time.getFullYear().valueOf(); //取得年份
  9. return t==y;
  10. },
  11. message:'选择时间年份必须与提案所在时间一致'
  12. }
  13. });
  14. </script>

看下面代码的结果,如图,value和param的值。


  1. $.extend($.fn.validatebox.defaults.rules,{
  2. TimeCheck:{
  3. validator:function(value,param){
  4. console.info(value);
  5. console.info(param);
  6. console.info(param[0]);
  7. }
  8. }
  9. });

<input class="easyui-datetimebox" type="text" id="beginDate" name="beginDate" validType="TimeCheck['a1','a2']" style="width: 195px" required="true" editable="false"/>

注释:HTML中的invalidMessage="所选时间年份必须与所选年份相同" 是当输入的数据不合法是要显示的信息,如果没有ivalidMessage,就会显示js中的message:‘选择时间年份必须与提案所在时间一致’,如果两者都有的话,会显示HTMl中的提示信息。