/**
* 日期空间,格式:YYYYMM
*
* @param jObj
* jquery对象
* @param dVal
* 默认值
* @returns
*/
function dateboxForMonth(jObj, options) {
if(!options)
options={};
// 下次抄表月份
jObj.datebox({
panelHeight : 300,
onShowPanel : function() {// 显示日趋选择对象后再触发弹出月份层的事件,初始化时没有生成月份层
span.trigger('click'); // 触发click事件弹出月份层
if (!tds)
setTimeout(function() {// 延时触发获取月份对象,因为上面的事件触发和对象生成有时间间隔
tds = p.find('div.calendar-menu-month-inner td');
tds.click(function(e) {
e.stopPropagation(); // 禁止冒泡执行easyui给月份绑定的事件
var year = /\d{4}/.exec(span.html())[0]// 得到年份
, month = parseInt($(this).attr('abbr'), 10) + 1; // 月份
jObj.datebox('hidePanel')// 隐藏日期对象
.datebox('setValue', year + '' + month); // 设置日期的值
});
}, 0);
},
parser : function(s) {// 配置parser,返回选择的日期
if (!s)
return new Date();
var year = s.substr(0, 4);
var month = s.substr(4, 5);
return new Date(parseInt(year, 10), parseInt(month, 10) - 1, 1);
},
formatter : function(d) {
if (d.getMonth() == 0) {
return d.getFullYear() - 1 + "" + 12;
} else {
return d.getFullYear()
+ ""
+ (d.getMonth() < 10 ? ("0" + d.getMonth()) : d
.getMonth());
}
}// 配置formatter,只返回年月
});
var p = jObj.datebox('panel'), // 日期选择对象
tds = false, // 日期选择对象中月份
span = p.find('span.calendar-text'); // 显示月份层的触发控件
if (options && options.showCurrDate) {
var dval;
var d = new Date();
var year = d.getFullYear();
var month = d.getMonth() + 1;
dval = year + "" + (month < 10 ? ("0" + month) : month);
options.dval=dval;
}
if(options.dval){
options.dval=parseInt(options.dval)+1+"";
}
setTimeout(function() {
jObj.datebox('setValue', options.dval);
}, 1);
}
----------html js调用方式
<input class="easyui-datebox" name="nrmonth" id="nrmonth" data-options="required:true,editable:false">
dateboxForMonth($("#nrmonth"),{showCurrDate:false});
easyui时间控件只显示年月
最新推荐文章于 2020-05-09 16:48:16 发布