WdatePicker常用配置属性

一、WdatePicker常用配置属性(可以在WdatePicker方法是配置)
 

属性类型默认值说明
elElement 或 Stringnull指定一个控件或控件的ID,必须具有value或innerHTML属性(如input,textarea,span,div,p等标签都可以),用户存储日期显示值(也就是dateFmt格式化后的值)
velElement 或 Stringnull指定一个控件或控件的ID,必须具有value属性(如input),用于存储真实值(也就是realDateFmt和realTimeFmt格式化后的值)
positionobject{}日期选择框显示位置
注意:坐标默认单位是px,是相对当前框架坐标(不受滚动条),left属性只接受数字,top属性除接受数字外还可以接受 'above' 上方显示, 'under' 下方显示, 'auto' 系统根据页面大小自动选择(默认)
如:
{left:100,top:50}表示固定坐标[100,50]
{top:50}表示横坐标自动生成,纵坐标指定为 50
{left:100}表示纵坐标自动生成,横坐标指定为 100
{top:'above'}表示上方显示
{top:'under'}表示下方显示
请参考示例
langstring'auto'当值为'auto'时 自动根据客户端浏览器的语言自动选择语言
当值为 其他 时 从langList中选择对应的语言
skinstring'default'皮肤名称 默认自带 default和whyGreen两个皮肤
另外如果你的css够强的话,可以自己做皮肤
dateFmtstring'yyyy-MM-dd'日期显示格式
realDateFmtstring'yyyy-MM-dd'计算机可识别的,真正的日期格式
无效日期设置(disabledDates),最大日期(maxDate),最小日期(minDate)以及快速日期都必须与它们相匹配
建议使用默认值
realTimeFmtstring'HH:mm:ss'
realFullFmtstring'%Date %Time'
minDatestring'1900-01-01 00:00:00'最小日期(注意要与上面的real日期相匹配)
maxDatestring'2099-12-31 23:59:59'最大日期(注意要与上面的real日期相匹配)
startDatestring''起始日期,既点击日期框时显示的起始日期
为空时,使用今天作为起始日期(默认值)
否则使用传入的日期作为起始日期(注意要与上面的real日期相匹配)
isShowWeekboolfalse是否显示周
highLineWeekDaybooltrue是否高亮显示 周六 周日
isShowClearbooltrue是否显示清空按钮
isShowTodaybooltrue是否显示今天按钮
isShowOthersbooltrue为true时,第一行空白处显示上月的日期,末行空白处显示下月的日期,否则不显示
readOnlyboolfalse是否只读
errDealModeint0纠错模式设置 可设置3中模式 0 - 提示 1 - 自动纠错 2 - 标记
autoPickDateboolnull为false时 点日期的时候不自动输入,而是要通过确定才能输入
为true时 即点击日期即可返回日期值
为null时(推荐使用) 如果有时间置为false 否则置为true
qsEnabledbooltrue是否启用快速选择功能
quickSelArraynull快速选择数据,可以传入5个快速选择日期
注意:日期格式必须与 realDateFmt realTimeFmt realFullFmt 相匹配
disabledDaysArraynull可以使用此功能禁用周日至周六所对应的日期
0至6 分别代表 周日至周六
disabledDatesArraynull可以使用此功能禁用所指定的一个或多个日期

二、WdatePicker常用内置函数

函数名返回值类型作用域参数描述
$dp.$Element全局el [string]: 对象的ID相当于document.getElementById
$dp.showvoid全局显示日期选择框
$dp.hidevoid全局隐藏日期选择框
$dp.$DString全局id [string]: 对象的ID
arg [object]: 日期差量,可以设置成
{y:[值],M:[值],d:[值],H:[值],m:[值],s:[值]}
属性 y,M,d,H,m,s 分别代表 年月日时分秒
{M:3,d:7} 表示 3个月零7天
{d:1,H:1} 表示1天多1小时
将id对应的日期框中的日期字符串,加上定义的日期差量,返回使用real格式化后的日期串
$dp.$DVString全局v [string]: 日期字符串
arg [object]: 同上例的arg
将传入的日期字符串,加上定义的日期差量,返回使用real格式化后的日期串

三、多语言支持

通过lang属性,可以为每个日期控件单独配置语言

1、繁体中文 

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

2、英文   

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

 

3、简体中文   

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

四、皮肤配置

1、皮肤列表

WdatePicker目录下有个config.js,里面有段代码:

var skinList =
[
{name:'default', charset:'gb2312'},
{name:'whyGreen', charset:'gb2312'},
{name:'blue', charset:'gb2312'},
{name:'simple', charset:'gb2312'}
];



这就是皮肤列表,每个项有name和charset两个属性.


(1)、name 表示皮肤的名称,在配置的时候,skin属性只能是配置列表里面已有的项,否则将自动返回第一项
(2)、charset 表示对应皮肤目录下的css文件:datepicker.css所对应的编码格式

2、皮肤安装说明


(1)、将皮肤文件包拷贝到 skin 目录
(2)、打开 config.js 配置皮肤列表
 

五、日期调用方式

1、常规调用

在input单击或获得焦点调用

<input id="d11" type="text" onClick="WdatePicker()"/>

2、图标触发

使用其他的元素如:<img><div>等触发WdatePicker函数来调用弹出日期框

<input id="d12" type="text"/>
<img οnclick="WdatePicker({el:$dp.$('d12')})" src="skin/datePicker.gif" width="16" height="22" align="absmiddle"/>

六、只读开关,高亮周末功能

1、设置readOnly属性 true 或 false 可指定日期框是否只读
2、设置highLineWeekDay属性 ture 或 false 可指定是否高亮周末

七、操作按钮自定义

清空按钮和今天按钮,可以根据需要进行自定义,它们分别对应 isShowClear 和 isShowToday 默认值都是true

<input class="Wdate" type="text" id="d15" onFocus="WdatePicker({isShowClear:false,readOnly:true})"/>

八、自定义弹出位置

当控件处在页面边界时,它会自动选择显示的位置.此外你还可以使用position参数对弹出位置做调整.

<input class="Wdate" type="text" id="d16" οnfοcus="WdatePicker({position:{left:100,top:50}})"/>

九、起始日期功能 (日期格式必须与 realDateFmt 和 realTimeFmt 一致)

其中日期格式

y将年份表示为最多两位数字。如果年份多于两位数,则结果中仅显示两位低位数。
yy同上,如果小于两位数,前面补零。
yyy将年份表示为三位数字。如果少于三位数,前面补零。
yyyy将年份表示为四位数字。如果少于四位数,前面补零。
M将月份表示为从 1 至 12 的数字
MM同上,如果小于两位数,前面补零。
d将月中日期表示为从 1 至 31 的数字。
dd同上,如果小于两位数,前面补零。
H将小时表示为从 0 至 23 的数字。
HH同上,如果小于两位数,前面补零。
m将分钟表示为从 0 至 59 的数字。
mm同上,如果小于两位数,前面补零。
s将秒表示为从 0 至 59 的数字。
ss同上,如果小于两位数,前面补零。
w返回星期对应的数字 0 (星期天) - 6 (星期六) 。
D返回星期的缩写 一 至 六 (英文状态下 Sun to Sat) 。
W返回周对应的数字 (1 - 53) 。
WW同上,如果小于两位数,前面补零 (01 - 53) 。

1、静态限制

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

(1)、限制日期的范围是 2006-09-10到2008-12-20

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

(2)、 限制日期的范围是 2008年2月 到 2008年10月

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

(3)、限制日期的范围是 8:00:00 到 11:30:00

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

2. 动态限制

可以通过系统给出的动态变量,如%y(当前年),%M(当前月)等来限度日期范围,还可以通过#{}进行表达式运算,如:#{%d+1}:表示明天

 其中,动态变量表

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

例如:

(1)、只能选择今天以前的日期(包括今天)

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

(2)、 使用运算表达式 只能选择今天以后的日期(不包括今天)

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

(3)、只能选择本月的日期1号至本月最后一天

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

(4)、只能选择今天7:00:00至明天21:00:00的日期

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

(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'})"/>

十、通过JS自定义任何你想要的日期限制

例如:自动转到随机生成的一天


<script>
//返回一个随机的日期
function randomDate(){
var Y = 2000 + Math.round(Math.random() * 10);
var M = 1 + Math.round(Math.random() * 11);
var D = 1 + Math.round(Math.random() * 27);
return Y+'-'+M+'-'+D;
}
</script>
<input type="text" class="Wdate" id="d434" onFocus="var date=randomDate();WdatePicker({minDate:date,maxDate:date}) "/>

十一、禁用某天

可以使用此功能禁用周日至周六所对应的日期,相关属性:disabledDays (0至6 分别代表 周日至周六)

例如:禁用 周六 所对应的日期

<input id="d441" type="text" class="Wdate" onFocus="WdatePicker({disabledDays: [6] })"/>

十二、禁用部分日期

例如

1、['2008-02-01','2008-02-29'] 表示禁用 2008-02-01 和 2008-02-29
2、['2008-..-01','2008-02-29'] 表示禁用 2008-所有月份-01 和 2008-02-29
3、['200[0-8]]-02-01','2008-02-29'] 表示禁用 [2000至2008]-02-01 和 2008-02-29
4、['^2006'] 表示禁用 2006年的所有日期

5、['....-..-01','%y-%M-%d'] 表示禁用 所有年份和所有月份的第一天和今天
6、['%y-%M-#{%d-1}','%y-%M-#{%d+1}'] 表示禁用 昨天和明天
7、['....-..-.. 10\:00\:00'] 表示禁用 每天10点 (注意 : 需要 使用 \: )

8、禁用 每个月份的 5日 15日 25日

<input id="d451" type="text" class="Wdate" onFocus="WdatePicker({disabledDates: ['5$'] })"/>

其中: '5$' 表示以 5 结尾

9、 禁用 所有早于2000-01-01的日期

<input id="d452" type="text" class="Wdate" onFocus="WdatePicker({disabledDates: ['^19'] })"/>

其中:'^19' 表示以 19 开头

10、本月可用日期分隔成五段 分别是: 1-3 8-10 16-24 26,27 29-月末

<input id="d453" type="text" class="Wdate" onFocus="WdatePicker({minDate: '%y-%M-01' ,maxDate: '%y-%M-%ld' ,disabledDates: ['0[4-7]$','1[1-5]$','2[58]$'] })"/>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值