JS时间插件WdatePicker

JS时间插件WdatePicker

  • 网站:http://www.my97.net/demo/index.htm

  • 常用链接:
    自定义格式
    动态变量表

  • 使用WdatePicker需要下载一个My97DatePicker包,并且包中的目录结构不能破坏,也不能改名。

  • WdatePicker.js 是主要配置文件,在调用的地方使用该文件。

  • 常规功能

    • 支持多种元素:<input><img><div>等,可通过onclick来触发函数。
    <!--直接由input标签触发-->
    <input id="d1" type="text" onclike="WdatePicker()"/> 
    <!--通过标签触发-->
    <label onclick="WdatePicker({el:'contTimeBegin'})">合同开始时间:</label>
    <input id="contTimeBegin" type="text"">
    
    • 支持周显示
    <input id="d2" type="text" οnclick="WdatePicker({isShowWeek:true})"
    
    • 支持只读
    <input id="d2" type="text" οnclick="WdatePicker({readOnly:true})"
    
    • 其他功能
    WdatePicker({
      <!--自定义弹出位置,相对坐标,单位px-->
      position:{left:100,top:50},
      <!--是否显示清空、确定、今天按钮,默认是true-->
      isShowClear:false,
      isShowOK:false,
      isShowToday:false,
      <!--自定义星期的第一天,0-6-->
      firstDayOfWeek:1,
      <!--显示双月,弹出两个月的日期框-->
      doubleCalendar: true,
      <!--设置日期显示格式,值为String,可根据需要自由组合-->
      dateFmt: 'yyyy-MM-dd',
      dateFmt:'yyyy年MM月dd日 HH时mm分ss秒'
      <!--计算机可识别的,真正的日期,推荐使用默认-->
      realDateFmt: 'yyyy-MM-dd',
      <!--弹出框的起始日期,搭配alwaysUseStartDate使用,能保持每次点开都是起始日期-->
      startDate:'2014-05-03',
      alwaysUseStartDate:true,
      <!--最大日期,最小日期,值为String类型,符合realDate的格式-->
      maxDate: '2022-02-01'
      minDate: '2020-01-01'
      <!--禁用周几,即不可选,值为数组类型,0-6-->
      disabledDays:[0,3,6],
      <!--禁用日期,值为数组类型,可以使用正则表达式。例子禁用了2020-1-1之前的日期以及2008年2月29日-->
      disabledDates:['^19','2008-02-29'],
      <!--将有效日期和无效日期互换,对特殊天不起作用-->
      opposite: true
      <!--高亮日期,高亮星期几,值为数组类型-->
      specialDates: ['2021-03-05'],
      specialDays: [0,1],
    })
    实例:
    <!--限制日期的范围是 2008年2月 到 2008年10月-->
    <input type="text" class="Wdate" id="d413" onclick="WdatePicker({dateFmt:'yyyy年M月',minDate:'2008-2',maxDate:'2008-10'})"/>
    <!--将本月可用日期分隔成五段 分别是: 1-3 8-10 16-24 26,27 29-月末-->
    <input id="d453" type="text" class="Wdate" onclick="WdatePicker({minDate:'%y-%M-01',maxDate:'%y-%M-%ld',disabledDates:['0[4-7]$','1[1-5]$','2[58]$']})"/>
    <!--前面的日期+3天 不能大于 后面的日期-->
    <input type="text" class="Wdate" id="d4321" onclick="WdatePicker({maxDate:'#F{$dp.$D(\'d4322\',{d:-3});}'})"/>
    <input type="text" class="Wdate" id="d4322" onclick="WdatePicker({minDate:'#F{$dp.$D(\'d4321\',{d:3});}'})"/>
    
  • 内置函数和属性

    • $dp.show()    显示日期选择框
    • $dp.hide()    隐藏日期选择框
    • $dp.$(id[string]对象的ID)    选择元素,相当于document.getElementById
    • $dp.$D(id[string]对象的ID, arg[object]日期差量)    将id对应的日期框中日期,加上定义的日期差量后,返回real格式的日期字符串
    • $dp.$DV(v[string]日期字符串, arg[object]日期差量)    将传入的字符串加上日期差量,返回real格式的字符串

    – 以下只在自定义函数中有效

    • $dp.cal.getP(p[string]属性yMdHmswWD, f[string]format格式字符串)    返回指定属性被格式化后的值,在事件中返回选择前的值
    • $dp.cal.getNewP(p[string]属性yMdHmswWD, f[string]format格式字符串)    用法同上,在事件中返回选择后的值
    • $dp.cal.getDateStr(f[string]格式字符串)    返回被格式化后的日期字符串,参数默认为dateFmt,在事件中返回选择前的值
    • $dp.cal.getDateStr(f[string]格式字符串)    用法同上,在事件中返回选择后的值

    – 属性

    • $dp.cal.date.yMdHms 在事件中返回选择前的日期对象
    • $dp.cal.newdate.yMdHms 在事件中返回选择后的日期对象
  • 自定义事件

    • 有三个重要指针:this->文本框,dp->$dp,dp.cal->日期控件对象。
    • 注:函数原型需为 function(dp){},在函数内才能使用dp
    <!--自定义事件,值为function,-->
    onpicking onpicked
    onclearing oncleared
    ychanging ychanged
    Mchanging Mchanged
    dchanging dchanged
    Hchanging Hchanged
    mchanging mchanged
    schanging schanged  
    
    <!--选择第一个日期后,第二个日期框自动弹出,且时间有联动-->
    <input id="d5221" class="Wdate" type="text" onclick="var d5222=$dp.$('d5222');WdatePicker({onpicked:function(){d5222.click();},maxDate:'#F{$dp.$D(\'d5222\')}'})"/>
    <input id="d5222" class="Wdate" type="text" onclick="WdatePicker({minDate:'#F{$dp.$D(\'d5221\')}'})"/>
    
    <!--将选择的值拆分到文本框-->
    <input type="text" id="d523_y" size="5"/><input type="text" id="d523_M" size="3"/><input type="text" id="d523_d" size="3"/><input type="text" id="d523_HH" size="3"/><input type="text" id="d523_mm" size="3"/><input type="text" id="d523_ss" size="3"/><img onclick="WdatePicker({el:'d523',dateFmt:'yyyy-MM-dd HH:mm:ss',onpicked:pickedFunc})" src="../../My97DatePicker/skin/datePicker.gif" width="16" height="22" align="absmiddle" style="cursor:pointer"/>
    <script>
    function pickedFunc(){
    $dp.$('d523_y').value=$dp.cal.getP('y');
    $dp.$('d523_M').value=$dp.cal.getP('M');
    $dp.$('d523_d').value=$dp.cal.getP('d');
    $dp.$('d523_HH').value=$dp.cal.getP('H');
    $dp.$('d523_mm').value=$dp.cal.getP('m');
    $dp.$('d523_ss').value=$dp.cal.getP('s');
    }
    </script>
    
  • 动态变量表

格式说明
%y当前年
%M当前月
%d当前日
%d本月最后一天
%H当前时
%m当前分
%s当前秒
{}运算表达式,如:{%d+1}:表示明天
#F{}{}之间是函数可写自定义JS代码
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值