easyui 中 覆盖 datetimebox 按钮默认函数

来源:互联网 发布:app收费软件 编辑:程序博客网 时间:2024/05/16 11:31

最近做项目需要自己选择时间,刚接触js不久,jquery easyui也不熟悉,用了datetimebox控件,结果我获取不到需要的时间格式


网上也找不到资料,没办法,只有研究源码(jquery.eaysui.min.js)了,事实证明这是最好的办法,学习效果最好

我需要的源码如下

查一下  $.data  函数function _953(_954){var opts=$.data(_954,"datetimebox").options;var date=_94f(_954);_94e(_954,opts.formatter.call(_954,date));$(_954).combo("hidePanel");};function _94f(_950){var c=$(_950).datetimebox("calendar");var t=$(_950).datetimebox("spinner");var date=c.calendar("options").current;return new Date(date.getFullYear(),date.getMonth(),date.getDate(),t.timespinner("getHours"),t.timespinner("getMinutes"),t.timespinner("getSeconds"));};function _94e(_955,_956,_957){var opts=$.data(_955,"datetimebox").options;$(_955).combo("setValue",_956);if(!_957){if(_956){var date=opts.parser.call(_955,_956);$(_955).combo("setValue",opts.formatter.call(_955,date));$(_955).combo("setText",opts.formatter.call(_955,date));}else{$(_955).combo("setText",_956);}}var date=opts.parser.call(_955,_956);$(_955).datetimebox("calendar").calendar("moveTo",date);$(_955).datetimebox("spinner").timespinner("setValue",_958(date));function _958(date){function _959(_95a){return (_95a<10?"0":"")+_95a;};var tt=[_959(date.getHours()),_959(date.getMinutes())];if(opts.showSeconds){tt.push(_959(date.getSeconds()));}return tt.join($(_955).datetimebox("spinner").timespinner("options").separator);};};

里面一些jquery函数具体怎么用,多去查下资料


后面我覆盖了中间一个按钮的响应函数,让时间按我需要的格式显示

  //覆盖 datetimebox 底部中间一个按钮的默认函数   var buttons = $.extend([], $.fn.datebox.defaults.buttons);        buttons.splice(1, 0, { // JS中array 的 splice方法 ,具体查资料             text: '确定',            handler: function(target){   //这里的参数target指的是 datetimebox 这个控件本身的引用                          var Calendar = $(target).datetimebox("calendar") ;                 var date = Calendar.calendar("options").current ;                var Spinner = $(target).datetimebox("spinner") ;                var month = date.getMonth()+1 ;                var day = date.getDate() ;                var timeStr = date.getFullYear()%100 + ""+ (month<10?('0'+month):month) + ""+ (day<10?('0'+day):day);  //返回的日期是整数                var comboTime = date.getFullYear()%100 + "-"+ (month<10?('0'+month):month) + "-"+ (day<10?('0'+day):day) + "   ";                var hour = Spinner.timespinner("getHours") ;                var minute = Spinner.timespinner("getMinutes") ;                var seconds = Spinner.timespinner("getSeconds") ;                timeStr += (hour<10?('0'+hour):hour) + "" + (minute<10?('0'+minute):minute) + "" + (seconds<10?('0'+seconds):seconds);                comboTime += (hour<10?('0'+hour):hour) + ":" + (minute<10?('0'+minute):minute) + ":" + (seconds<10?('0'+seconds):seconds);                alert(timeStr);                                 $(target).combo("setText",comboTime);//设置组合框文本                $(target).combo("hidePanel");            }        });

同理,代码中不懂的地方多查资料,网上都有,关键在于要看懂源码中的那些数字是什么意思

开源就是好啊,也可以让我们学习得更快


0 0