Title: problem using datetimebox in form
Post by: Opan Mustopah on April 27, 2015, 09:57:46 PM
hello again. i have a problem using datetimebox plugin in form, and i have a custom formatter and parser for that datetimebox. here is my code : $.fn.datetimebox.defaults.formatter = function(date){ var arrMonth = [ 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec' ]; console.log(date); ==> always undefined when load data in form var d = date.getDate(); var m = date.getMonth(); var y = date.getFullYear();
var hh = date.getHours(); var mm = date.getMinutes();
return (d < 10 ? ('0' + d) : d) + ' ' + arrMonth[m] + ' ' + y + ' ' + hh + ':' + mm; }
$.fn.datetimebox.defaults.parser = function (s){ var arrMonth = [ 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec' ];
if (!s) return new Date();
if (s.indexOf('-') > 0) { var ss = (s.split('-')); var y = parseInt(ss[0], 10); var m = parseInt(ss[1], 10) - 1; var d = parseInt(ss[2], 10);
} else { var ss = (s.split(' ')); var y = parseInt(ss[2], 10); var m = arrMonth.indexOf(ss[1]); var d = parseInt(ss[0], 10);
} if (!isNaN(y) && !isNaN(m) && !isNaN(d)) { var date = new Date(y, m, d);
if (ss[3] != null){ var t = ss[3].split(":"); date.setHours(t[0]); date.setMinutes(t[1]); } return date;
}else{ return new Date(); } }
everytime i trying to load form data, date parameter always shows undefinde value, and format value for load into datetimebox is like this "2015-04-28 16:00:00" am i missing something? many thanks for the answer
Title: Re: problem using datetimebox in form
Post by: stworthy on April 28, 2015, 01:46:35 AM
Please try to use the following code: <script> $.extend($.fn.datetimebox.defaults, { monthNames: ['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'], formatter:function(date){ var opts = $(this).datetimebox('options'); var d = date.getDate(); var m = date.getMonth(); var y = date.getFullYear();
var hh = date.getHours(); var mm = date.getMinutes(); return d+' '+opts.monthNames[m]+' '+y+' '+hh+':'+mm; }, parser:function(s){ if (!s){return new Date();} var opts = $(this).datetimebox('options'); var ss = s.split(' '); var d = parseInt(ss[0],10); var m = $.inArray(ss[1], opts.monthNames); var y = parseInt(ss[2],10); var tt = ss[3].split(':'); var hh = parseInt(tt[0],10); var mm = parseInt(tt[1],10); return new Date(y,m,d,hh,mm,0); } }) </script>
Title: Re: problem using datetimebox in form
Post by: Opan Mustopah on April 28, 2015, 01:48:33 AM
thanks stworthy for the extended code.
|