记一次重写easyui的datetimebox控件的小片段
生活随笔
收集整理的這篇文章主要介紹了
记一次重写easyui的datetimebox控件的小片段
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
因為項目中服務(wù)器使用UTC時間,而easyui的datetimebox點擊今天獲取的是本地時間,存在時差。所以擴展了easyui的datetimebox控件,具體如下:
easyui官方的datetimebox控件如下:
擴展代碼如下:
1 //重寫datebox今天按鈕事件,點擊設(shè)置事件從服務(wù)器取 2 var formatterNowDateBox = "loginBegin,loginEnd,userCreatedBegin,userCreatedEnd".split(","); 3 $(function(){ 4 var buttons = $.extend([], $.fn.datetimebox.defaults.buttons); 5 buttons.splice(0, 1, { 6 text: '<spring:message code="今天" />', 7 handler: function(target){ 8 for(var i = 0; i <formatterNowDateBox.length;i++){ 9 if(target.id == formatterNowDateBox[i]){ 10 $.ajax({ 11 type:"GET", 12 dataType:"json", 13 url:"127.0.0.1:80/server/getServerTime.htm?dateTimeBoxId="+formatterNowDateBox[i], 14 success:function(res){ 15 $("#" + res.dateTimeBoxId).datetimebox("setValue",res.date); 16 //hidePanpel繼承自combo控件 17 $("#" + res.dateTimeBoxId).datetimebox("hidePanel"); 18 } 19 }); 20 } 21 } 22 } 23 }); 24 for(var i = 0; i <formatterNowDateBox.length;i++){ 25 $('#'+formatterNowDateBox[i]).datetimebox({ 26 buttons: buttons 27 }); 28 } 29 })因為項目中采用了國際化,所以使用了spring message標(biāo)簽,
formatterNowDateBox 變量定義了需要重寫的控件id,實際項目中一個頁面不會只有一個日期選擇框,如果每個日期框都去重寫一次代碼看起來很冗余,所以定義了數(shù)組,存放id,同時ajax請求的時候把id傳過去,返回的時候帶上id就可以了。
因為是本地測試所以ajax請求的url寫死了。
?
轉(zhuǎn)載于:https://www.cnblogs.com/FlyHeLanMan/p/6738430.html
總結(jié)
以上是生活随笔為你收集整理的记一次重写easyui的datetimebox控件的小片段的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ibatis实现1对多
- 下一篇: data source from bit