進公司上班有一個月了,公司的項目界面都是用easyui做的,這裡總結一些遇到的easyui插件的問題,方便以後用到時可以參考。本次就先說說easyui的datetimebox插件。
1.多個時間輸入框,後面的時間一次比前一個輸入框時間大。如:time1 如下圖:
代碼如下:HTML代碼:
-
時間1: -
- class=”easyui-datetimebox”/>
-
時間2: -
- validType=”TimeCheck[“time1″]” invalidMessage=”time2要大於time1″
- class=”easyui-datetimebox”/>
-
時間3: -
- validType=”TimeCheck[“time2″]” invalidMessage=”time3要大於time2″
- class=”easyui-datetimebox”/>
js代碼:
- $.extend($.fn.validatebox.defaults.rules,{
- TimeCheck:{
- validator:function(value,param){
- var s = $("input[name="+param[0]+"]").val();
- //因為日期是統一格式的所以可以直接比較字元串 否則需要Date.parse(_date)轉換
- return value>=s;
- },
- message:"非法數據"
- }
- });
注釋:這種方法有個弊端,就是如果先輸入後面time2的日期,在輸入前面time1的日期,並且time2
2.上面一個年份輸入框,選擇一個年份,下面輸入框的年份必須與上面所選年份相同。如圖:
HTML代碼:
-
年 份: -
-
時間1: -
- 時間2:
-
- js代碼:
- $.extend($.fn.validatebox.defaults.rules,{
- TimeCheck:{
- validator:function(value,param){//value是所選文本的值,字元串類型
- var y=$("#year").combobox("getValue").valueOf();//取出下拉框的值
- var time=new Date(Date.parse(value.replace(/-/g, "/")));//將文本框自帶的值(字元串)轉換成Date類型
- var t=time.getFullYear().valueOf(); //取得年份
- return t==y;
- },
- message:"選擇時間年份必須與提案所在時間一致"
- }
- });
看下面代碼的結果,如圖,value和param的值。
- $.extend($.fn.validatebox.defaults.rules,{
- TimeCheck:{
- validator:function(value,param){
- console.info(value);
- console.info(param);
- console.info(param[0]);
- }
- }
- });
注釋:HTML中的invalidMessage=”所選時間年份必須與所選年份相同” 是當輸入的數據不合法是要顯示的信息,如果沒有ivalidMessage,就會顯示js中的message:『選擇時間年份必須與提案所在時間一致』,如果兩者都有的話,會顯示HTMl中的提示信息。
※一個製作Web圖案的組件css-doodle
※php 郵箱驗證函數
TAG:程序員小新人學習 |