原來轉貼過一個,是採用的服務端注入指令碼方式,我覺得不好,並且還是有bug
於是自己琢磨了一下這個控制項的官方API,另外就是調整JS指令碼時,也發現不少
此控制項的JS方法,甚至有API上面沒有寫的,這是學習的最好途徑,調試!
下面寫出自己的最新解決方案(最近寫了很多前後時間判斷的,呵呵)
這裡是兩個WebDateChooser,開始時間名為wdcProcDate,結束時間名為
wdcProcDateEnd,下面之所以在伺服器端寫完全是沒有辦法,在介面上設定了
竟然沒有作用~!應該是此控制項的bug,只好在代碼中指定了
Server:
if (!IsPostBack)<br />{<br /> wdcProcDate.ClientSideEvents.CalendarValueChanging = "wdcProcDate_CalendarValueChanging";<br /> wdcProcDateEnd.ClientSideEvents.CalendarValueChanging = "wdcProcDateEnd_CalendarValueChanging";<br />}
Client:
下面這段代碼一定要放在頁面”body“內,因為使用了<%=%>
function wdcProcDate_CalendarValueChanging(oCalendar, oDate, oEvent) {<br /> var enddate = igdrp_getComboById("<%= wdcProcDateEnd.ClientID %>");<br /> if (enddate) {<br /> if (oDate > enddate.getValue()) {<br /> oEvent.cancel = true;<br /> alert('開始日期不能大於結束日期!');<br /> }<br /> }<br /> }<br /> function wdcProcDateEnd_CalendarValueChanging(oCalendar, oDate, oEvent) {<br /> var startdate = igdrp_getComboById("<%= wdcProcDate.ClientID %>");<br /> if (startdate) {<br /> if (oDate < startdate.getValue()) {<br /> oEvent.cancel = true;<br /> alert('開始日期不能大於結束日期!');<br /> }<br /> }<br /> }