WdatePicker日曆控件使用方法和我的使用

1. 跨無限級框架顯示php

不管你把日期控件放在哪裏,你都不須要擔憂會被外層的iframe所遮擋進而影響客戶體驗,由於My97日期控件是能夠跨無限級框架顯示的html

示例2-7 跨無限級框架演示編程

可無限跨越框架iframe,不管怎麼嵌套框架都沒必要擔憂了,即便有滾動條也不怕瀏覽器

2. 民國年日曆和其餘特殊日曆框架

當年份格式設置爲yyy格式時,利用年份差量屬性yearOffset(默認值1911民國元年),可實現民國年日曆和其餘特殊日曆函數

示例2-8 民國年演示this

<input type="text" id="d28" onClick="WdatePicker({dateFmt:'yyy/MM/dd'})"/>
注意:年份格式設置成yyy,真正的日期將會減去一個差量yearOffset(默認值爲:1911),若是是民國年使用默認值便可無需另外配置,若是是其餘的差量,能夠經過參數的形式配置spa

3. 編程帶來方便.net

若是el的值是this,可省略,即全部的el:this均可以不寫 
日期框設置爲disabled,禁止更改日期(不彈出選擇框

若是沒有定義onpicked事件,自動觸發文本框的onchange
事件 
若是沒有定義oncleared事件,清空時,自動觸發onchange事件
code

4. 其餘屬性

設置readOnly屬性,可指定日期框是否只讀 
設置highLineWeekDay屬性,
可指定是否高亮週末 
設置isShowOthers屬性,
可指定是否顯示其餘月的日期 
加上class="Wdate"就會在選擇框右邊出現日期圖標

多語言和自定義皮膚

1. 多語言支持

經過lang屬性,能夠爲每一個日期控件單獨配置語言,固然也能夠經過WdatePicker.js配置全局的語言
語言列表和語言安裝說明詳見語言配置

示例3-1 多語言示例

繁體中文
<input id="d311" type="text" onFocus="WdatePicker({lang:'zh-tw'})"/>

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

簡體中文
<input id="d313" type="text" onFocus="WdatePicker({lang:'zh-cn'})"/>

注意:默認狀況lang='auto',即根據瀏覽器的語言自動選擇語言.

2. 自定義和動態切換皮膚

經過skin屬性,能夠爲每一個日期控件單獨配置皮膚,固然也能夠經過WdatePicker.js配置全局的皮膚
皮膚列表和皮膚安裝說明詳見皮膚配置

示例3-2 皮膚演示

默認皮膚default: skin:'default'
<input id="d321" type="text" onfocus="WdatePicker()"/>

注意:WdatePicker裏配置了skin='default',因此此處可省略,同理,若是你把WdatePicker裏的skin配置成'whyGreen'那麼在不指定皮膚的狀況下都使用'whyGreen'皮膚了

       whyGreen皮膚: skin:'whyGreen' 

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

4. 日期範圍限制

1. 靜態限制
注意:日期格式必須與 realDateFmt 和 realTimeFmt 一致

你能夠給經過配置minDate(最小日期),maxDate(最大日期)爲靜態日期值,來限定日期的範圍

示例4-1-1 限制日期的範圍是 2006-09-10到2008-12-20
<input id="d411" 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" 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 限制日期的範圍是 2008年2月 到 2008年10月
<input type="text" id="d413" onfocus="WdatePicker({dateFmt:'yyyyM',minDate:'2008-2',maxDate:'2008-10'})"/>

示例4-1-4 限制日期的範圍是 8:00:00 到 11:30:00
<input type="text" id="d414" onfocus="WdatePicker({dateFmt:'H:mm:ss',minDate:'8:00:00',maxDate:'11:30:00'})"/>

2. 動態限制
注意:日期格式必須與 realDateFmt 和 realTimeFmt 一致

你能夠經過系統給出的動態變量,%y(當前年),%M(當前月)等來限度日期範圍,

還能夠經過#{}進行表達式運算,:#{%d+1}:表示明天
動態變量表

格式

說明

%y

當前年

%M

當前月

%d

當前日

%ld

本月最後一天

%H

當前時

%m

當前分

%s

當前秒

#{}

運算表達式,:#{%d+1}:表示明天

#F{}

{}之間是函數可寫自定義JS代碼

示例4-2-1 只能選擇今天之前的日期(包括今天)
<input id="d421" type="text" onfocus="WdatePicker({skin:'whyGreen',maxDate:'%y-%M-%d'})"/>

示例4-2-2 使用了運算表達式只能選擇今天之後的日期(不包括今天)
<input id="d422" type="text" onfocus="WdatePicker({minDate:'%y-%M-#{%d+1}'})"/>

示例4-2-3 只能選擇本月的日期1號至本月最後一天
<input id="d423" type="text" onfocus="WdatePicker({minDate:'%y-%M-01',maxDate:'%y-%M-%ld'})"/>

示例4-2-4 只能選擇今天7:00:00至明天21:00:00的日期
<input id="d424" 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" 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" type="text" onFocus="WdatePicker({maxDate:'#F{$dp.$D(\'d4312\')||\'2020-10-01\'}'})"/> 

<input id="d4312" 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" id="d4321"

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

       onFocus="WdatePicker({minDate:'#F{$dp.$D(\'d4321\',{d:3});}'})"/>
       使用 $dp.$D 函數 能夠將日期框中的值,加上定義的日期差量:
       兩個參數: id={字符類型}須要處理的文本框的id , obj={對象類型}
日期差量

       日期差量用法:
       屬性y,M,d,H,m,s分別表明年月日時分秒

上面轉載地址 WdatePicker日曆控件使用方法

--------------------------------------本身補充--------------------------------------------------

1.兩個時間選擇框限制

<input id="timeBegin" class="Wdate" type="text" 
		onFocus="WdatePicker({dateFmt:'yyyy/MM/dd HH:mm:ss',maxDate:'#F{$dp.$D(\'selectCreateTimeEnd\')||\'%y-%M-%d %H:%m:%s\'}'})"/>- 
		<input id="timeEnd" class="Wdate" type="text" 
		onFocus="WdatePicker({dateFmt:'yyyy/MM/dd HH:mm:ss',minDate:'#F{$dp.$D(\'selectCreateTimeBegin\')}',maxDate:'%y-%M-%d %H:%m:%s'})"/>
<!-- 上面的效果:限定最大日期今天,後者日期最少是前者選擇的 -->

上面的效果:限定最大日期今天,後者日期最少是前者選擇的

2.顯示默認時間

剛開始把顯示默認時間改成規定時間,可是無效。後來直接給input 的value賦值就能夠了

相關文章
相關標籤/搜索