1 <input id="startDate" name="startDate" class="easyui-datebox" data-options="label:\'月份\'"/> 2 3 4 $("#startDate").datebox({value : myformatter(new Date())}); 5 6 //日期选择年月 startDate 7 $(\'#startDate\').datebox({ 8 onShowPanel: function () {//显示日趋选择对象后再触发弹出月份层的事件,初始化时没有生成月份层 9 span.trigger(\'click\'); //触发click事件弹出月份层 10 if (!tds) 11 setTimeout(function() { //延时触发获取月份对象,因为上面的事件触发和对象生成有时间间隔 12 tds = p.find(\'div.calendar-menu-month-inner td\'); 13 tds.click(function(e) { 14 e.stopPropagation(); //禁止冒泡执行easyui给月份绑定的事件 15 var year = /\d{4}/.exec(span.html())[0] //得到年份 16 ,month = parseInt($(this).attr(\'abbr\'), 10); //月份 之前是这样的month = parseInt($(this).attr(\'abbr\'), 10) + 1; 17 $(\'#startDate\').datebox(\'hidePanel\') //隐藏日期对象 18 .datebox(\'setValue\', year + \'-\' + month); //设置日期的值 19 }); 20 }, 0); 21 }, 22 //配置parser,返回选择的日期 23 parser: function (s) { 24 if (!s) return new Date(); 25 var arr = s.split(\'-\'); 26 return new Date(parseInt(arr[0], 10), parseInt(arr[1], 10) - 1, 1); 27 }, 28 formatter: function (d) { 29 var currentMonth = (d.getMonth()+1); 30 var currentMonthStr = currentMonth < 10 ? (\'0\' + currentMonth) : (currentMonth + \'\'); 31 return d.getFullYear() + \'-\' + currentMonthStr; 32 } }); 33 34 //日期选择对象 35 var p = $(\'#startDate\').datebox(\'panel\'), 36 //日期选择对象中月份 37 tds = false, 38 //显示月份层的触发控件 39 span = p.find(\'span.calendar-text\'); 40 var curr_time = new Date(); 41 //设置前当月 42 $("#startDate").datebox("setValue", myformatter(curr_time)); 43 //格式化日期 44 function myformatter(date) { 45 //获取年份 46 var y = date.getFullYear(); 47 //获取月份 48 var m = date.getMonth() + 1; 49 return y + \'-\' + m; 50 }