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 }