首页 > 代码库 > easyui DateTimeBox OK

easyui DateTimeBox OK

 

一、datetimebox   ok按钮没有点击事件,但是可以通过onSelect事件模拟出“点击了ok按钮一样的效果”,我的代码:
关键:
0,理解DateTimeBox控件,这个控件是由DateBox+TimeSpinner这2个控件组成的,而DateBox又继承自combo控件。
1,使用setText方法,设置控件文本框的内容,这个方法是DateTimeBox从combo控件中继承过来的。不能使用setValue方法,因为这个方法是从DateBox继承过来的,但是DateTimeBox控件并没有重写这个方法,由于DateTimeBox还包含"时分秒",所以无法使用这个DateBox的方法。
2,使用spinner方法,获取“时分秒”信息,这个方法返回DateTimeBox中包含的TimeSpinner控件,使用TimeSpinner控件的getValue方法可以获得时间信息
3,使用onSelect方法,获取“日期”信息,onSelect:function(date){},其中date是事件触发时选中的日期,是js的Date类型数据
4,使用hidePanel方法,把下拉日期面板关闭,该方法也是继承自combo控件
容易看懂的代码:
$(‘#TextStartTime‘).datetimebox({
   showSeconds:false,
   required:true,
   onSelect:function(date){
var time=$(‘#TextStartTime‘).datetimebox(‘spinner‘).spinner(‘getValue‘);
$(‘#TextStartTime‘).datetimebox(‘setText‘,date.getFullYear()+‘-‘+ (date.getMonth()+1) +‘-‘+date.getDate()+‘ ‘+ time);
$(‘#TextStartTime‘).datetimebox(‘hidePanel‘);
   }
});

让日期2014-1-2变成2014-01-02格式的代码:
$(‘#TextStartTime‘).datetimebox({
   showSeconds:false,
   required:true,
   onSelect:function(date){
var time=$(‘#TextStartTime‘).datetimebox(‘spinner‘).spinner(‘getValue‘);
$(‘#TextStartTime‘).datetimebox(‘setText‘,date.getFullYear()+‘-‘+ ((date.getMonth()+1)<10 ? (‘0‘+(date.getMonth()+1)) : (date.getMonth()+1))+‘-‘+((date.getDate())<10 ? (‘0‘+(date.getDate())) : (date.getDate()))+‘ ‘+time);
$(‘#TextStartTime‘).datetimebox(‘hidePanel‘);
   }
});

 

二、日期格式化

 var sysformat = function (time, format) {
            var t = new Date(time);
            var tf = function (i) { return (i < 10 ? ‘0‘ : ‘‘) + i };
            return format.replace(/yyyy|MM|dd|HH|mm|ss/g, function (a) {
                switch (a) {
                    case ‘yyyy‘:
                        return tf(t.getFullYear());
                        break;
                    case ‘MM‘:
                        return tf(t.getMonth() + 1);
                        break;
                    case ‘mm‘:
                        return tf(t.getMinutes());
                        break;
                    case ‘dd‘:
                        return tf(t.getDate());
                        break;
                    case ‘HH‘:
                        return tf(t.getHours());
                        break;
                    case ‘ss‘:
                        return tf(t.getSeconds());
                        break;
                }
            })
        }

easyui DateTimeBox OK