天天看點

WdatePicker月曆控件使用方法

1. 跨無限級架構顯示

無論你把日期控件放在哪裡,你都不需要擔心會被外層的iframe所遮擋進而影響客戶體驗,因為My97日期控件是可以跨無限級架構顯示的

示例2-7 跨無限級架構示範

可無限跨越架構iframe,無論怎麼嵌套架構都不必擔心了,即使有滾動條也不怕

2. 民國年月曆和其他特殊月曆

當年份格式設定為yyy格式時,利用年份差量屬性yearOffset(預設值1911民國元年),可實作民國年月曆和其他特殊月曆

示例2-8 民國年示範

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

注意:年份格式設定成yyy時,真正的日期将會減去一個差量yearOffset(預設值為:1911),如果是民國年使用預設值即可無需另外配置,如果是其他的差量,可以通過參數的形式配置

如果el的值是this,可省略,即所有的el:this都可以不寫  日期框設定為disabled時,禁止更改日期(不彈出選擇框)  如果沒有定義onpicked事件,自動觸發文本框的onchange事件  如果沒有定義oncleared事件,清空時,自動觸發onchange事件

4. 其他屬性

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

多語言和自定義皮膚

1. 多語言支援

示例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. 自定義和動态切換皮膚

示例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-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. 動态限制 注意:日期格式必須與 realDateFmt 和 realTimeFmt 一緻

你可以通過系統給出的動态變量,如%y(目前年),%M(目前月)等來限度日期範圍,你

還可以通過#{}進行表達式運算,如:#{%d+1}:表示明天

動态變量表

格式

說明

%y

目前年

%M

目前月

%d

目前日

%ld

本月最後一天

%H

目前時

%m

目前分

%s

目前秒

#{}

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

#F{}

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

示例4-2-1 隻能選擇今天以前的日期(包括今天)

示例4-2-2 使用了運算表達式隻能選擇今天以後的日期(不包括今天)

示例4-2-3 隻能選擇本月的日期1号至本月最後一天

示例4-2-4 隻能選擇今天7:00:00至明天21:00:00的日期

 示例4-2-5 使用了運算表達式隻能選擇 20小時前至 30小時後的日期

3 . 腳本自定義限制        

注意:日期格式必須與 realDateFmt 和 realTimeFmt 一緻

系統提供了$dp.$D和$dp.$DV這兩個API來輔助你進行日期運算,此外你還可以通過在 #F{} 中填入你自定義的腳本,做任何你想做的日期限制

示例4-3-1 前面的日期不能大于後面的日期且兩個日期都不能大于 2020-10-01

合同有效期從  到 

注意: 兩個日期的日期格式必須相同

$dp.$ 相當于 document.getElementById 函數. 那麼為什麼裡面的 ' 使用 \' 呢? 那是因為 " 和 ' 都被外圍的函數使用了,故使用轉義符 \ ,否則會提示JS文法錯誤. 是以您在其他地方使用時注意把 \' 改成 " 或者 ' 來使用.

#F{$dp.$D(\'d4312\')||\'2020-10-01\'} 表示當 d4312 為空時, 采用 2020-10-01 的值作為最大值

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

 日期從  到            

使用 $dp.$D 函數 可以将日期框中的值,加上定義的日期差量:        

兩個參數: id={字元類型}需要處理的文本框的id值 , obj={對象類型}日期差量   

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

如為空時,表示直接取值,不做差量(示例4-3-1中的參數就是空的)

{M:5,d:7} 表示 五個月零7天

{y:1,d:-3} 表示 1年少3天

{d:1,H:1} 表示一天多1小時

如果你不清楚可以到官網檢視API

繼續閱讀