WdatePicker日历控件用法

时间:2023-09-24 19:40:32

1. 跨无限级框架显示

不管你把日期控件放在哪里,你都不须要操心会被外层的iframe所遮挡进而影响客户体验,由于My97日期控件是能够跨无限级框架显示的

演示样例2-7 跨无限级框架演示

可无限跨越框架iframe,不管怎么嵌套框架都不必操心了,即使有滚动栏也不怕

2. 民国年日历和其它特殊日历

民国元年),可实现民国年日历和其它特殊日历

演示样例2-8 民国年演示

<input type="text" id="d28" onClick="WdatePicker({dateFmt:'yyy/MM/dd'})"/>



注意:年份格式设置成yyy时,真正的日期将会减去一个差量yearOffset(默认值为:1911),假设是民国年使用默认值就可以无需另外配置,假设是其它的差量,能够通过參数的形式配置

3. 为编程带来方便

假设el的值是this,可省略,即全部的el:this都能够不写

日期框设置为disabled时,禁止更改日期(不弹出选择框)

假设未定义onpicked事件,自己主动触发文本框的onchange事件

假设未定义oncleared事件,清空时,自己主动触发onchange事件

4. 其它属性

设置readOnly属性,可指定日期框是否仅仅读

设置highLineWeekDay属性,可指定是否高亮周末

设置isShowOthers属性,可指定是否显示其它月的日期

加上class="Wdate"就会在选择框右边出现日期图标

多语言和自己定义皮肤

1. 多语言支持

通过lang属性,能够为每一个日期控件单独配置语言,当然也能够通过WdatePicker.js配置全局的语言

语言列表和语言安装说明详见语言配置

演示样例3-1 多语言演示样例

繁体中文:

<input id="d311" class="Wdate" type="text" onFocus="WdatePicker({lang:'zh-tw'})"/>

英文:

<input id="d312" class="Wdate" type="text" onFocus="WdatePicker({lang:'en'})"/>

中文简体:

<input id="d313" class="Wdate" type="text" onFocus="WdatePicker({lang:'zh-cn'})"/>



注意:默认情况lang='auto',即依据浏览器的语言自己主动选择语言.

2. 自己定义和动态切换皮肤

通过skin属性,能够为每一个日期控件单独配置皮肤,当然也能够通过WdatePicker.js配置全局的皮肤

皮肤列表和皮肤安装说明详见皮肤配置

演示样例3-2 皮肤演示

默认皮肤default: skin:'default'



<input id="d321" class="Wdate" type="text" onfocus="WdatePicker()"/>



注意:在WdatePicker里配置了skin='default',所以此处可省略,同理,假设你把WdatePicker里的skin配置成'whyGreen'那么在不指定皮肤的情况下都使用'whyGreen'皮肤了

whyGreen皮肤: skin:'whyGreen'

<input id="d322" class="Wdate" type="text" onfocus="WdatePicker({skin:'whyGreen'})"/>

4. 日期范围限制

1. 静态限制

注意:日期格式必须与realDateFmt和realTimeFmt一致

你能够给通过配置minDate(最小日期),maxDate(最大日期)为静态日期值,来限定日期的范围

演示样例4-1-1 限制日期的范围是 2006-09-10到2008-12-20

<input id="d411" class="Wdate" type="text" onfocus="WdatePicker({skin:'whyGreen',minDate:'2006-09-10',maxDate:'2008-12-20'})"/>

演示样例4-1-2 限制日期的范围是 2008-3-8 11:30:00 到 2008-3-10 20:59:30

<input type="text" class="Wdate" id="d412" onfocus="WdatePicker({skin:'whyGreen',dateFmt:'yyyy-MM-dd HH:mm:ss',minDate:'2008-03-08 11:30:00',maxDate:'2008-03-10 20:59:30'})" value="2008-03-09 11:00:00"/>

演示样例4-1-3 限制日期的范围是年2月 到 2008年10月

<input type="text" class="Wdate" id="d413" onfocus="WdatePicker({dateFmt:'yyyy年M月',minDate:'2008-2',maxDate:'2008-10'})"/>

演示样例4-1-4 限制日期的范围是 8:00:00 到 11:30:00

<input type="text" class="Wdate" id="d414" onfocus="WdatePicker({dateFmt:'H:mm:ss',minDate:'8:00:00',maxDate:'11:30:00'})"/>

2. 动态限制

数据库数据类型能够设置 varchar 类型

取出时不用转换类型

注意:日期格式必须与realDateFmt和realTimeFmt一致

你能够通过系统给出的动态变量,如%y(当前年),%M(当前月)等来限度日期范围,你

还能够通过#{}进行表达式运算,如:#{%d+1}:表示明天



动态变量表

格式

说明

%y

当前年

%M

当前月

%d

当前日

%ld

本月最后一天

%H

当前时

%m

当前分

%s

当前秒

#{}

运算表达式,如:#{%d+1}:表示明天

#F{}

{}之间是函数可写自己定义JS代码

 

演示样例4-2-1 仅仅能选择今天曾经的日期(包含今天)

<input id="d421" class="Wdate" type="text" onfocus="WdatePicker({skin:'whyGreen',maxDate:'%y-%M-%d'})"/>

演示样例4-2-2 使用了运算表达式仅仅能选择今天以后的日期(不包含今天)

<input id="d422" class="Wdate" type="text" onfocus="WdatePicker({minDate:'%y-%M-#{%d+1}'})"/>

演示样例4-2-3 仅仅能选择本月的日期1号至本月最后一天

<input id="d423" class="Wdate" type="text" onfocus="WdatePicker({minDate:'%y-%M-01',maxDate:'%y-%M-%ld'})"/>

演示样例4-2-4 仅仅能选择今天7:00:00至明天21:00:00的日期

<input id="d424" class="Wdate" type="text" onfocus="WdatePicker({dateFmt:'yyyy-M-d H:mm:ss',minDate:'%y-%M-%d 7:00:00',maxDate:'%y-%M-#{%d+1} 21:00:00'})"/>

      演示样例4-2-5 使用了运算表达式仅仅能选择 20小时前至 30小时后的日



<input id="d425" class="Wdate" type="text" onClick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm',minDate:'%y-%M-%d #{%H-20}:%m:%s',maxDate:'%y-%M-%d #{%H+30}:%m:%s'})"/>

3 . 脚本自己定义限制

       注意:日期格式必须与realDateFmt和realTimeFmt一致

系统提供了$dp.$D和$dp.$DV这两个API来辅助你进行日期运算,此外你还能够通过在#F{}中填入你自己定义的脚本,做不论什么你想做的日期限制

演示样例4-3-1 前面的日期不能大于后面的日期且两个日期都不能大于 2020-10-01

合同有效期从  到

<input id="d4311" class="Wdate" type="text" onFocus="WdatePicker({maxDate:'#F{$dp.$D(\'d4312\')||\'2020-10-01\'}'})"/>

<input id="d4312" class="Wdate" type="text" onFocus="WdatePicker({minDate:'#F{$dp.$D(\'d4311\')}',maxDate:'2020-10-01'})"/>

注意:

两个日期的日期格式必须同样



$dp.$ 相当于
document.getElementById 函数.

那么为什么里面的 ' 使用\'呢?

那是由于"和
' 都被外围的函数使用了,故使用转义符\ ,否则会提示JS语法错误.

所以您在其它地方使用时注意把 \' 改成"或者'
来使用.



#F{$dp.$D(\'d4312\')||\'2020-10-01\'} 表示当
d4312 为空时,採用2020-10-01的值作为最大值

演示样例4-3-2 前面的日期+3天 不能大于 后面的日期

日期从 到

       <input type="text" class="Wdate" id="d4321"

onFocus="WdatePicker({maxDate:'#F{$dp.$D(\'d4322\',{d:-3});}'})"/>

       <input type="text" class="Wdate" id="d4322"

onFocus="WdatePicker({minDate:'#F{$dp.$D(\'d4321\',{d:3});}'})"/>



       使用 $dp.$D函数能够将日期框中的值,加上定义的日期差量:

       两个參数: id={字符类型}须要处理的文本框的id值
, obj={对象类型}日期差量

日期差量使用方法:

       属性y,M,d,H,m,s分别代表年月日时分秒