jquery-mobiscrollv2.5.1版本不支持在显示时隐藏日,为了达到让控件只显示"年" 或 "年月" 的效果 我们对源代码做一定的调整:
一、在mobiscroll.js 文件中对preset做调整,加入以下红色字体的代码:
if (p.match(/date/i)) {
var user_format = inst.settings.dateFormat.split("-"),
view_part=[];
user_format.forEach(function (item) {
switch (item) {
case "yy": view_part.push("y"); break;
case "mm": view_part.push("m"); break;
case "dd": view_part.push("d"); break;
case "HH": view_part.push("h"); break;
case "ii": view_part.push("i"); break;
case "ss": view_part.push("s"); break;
case "yy": view_part.push("a"); break;
}
});
// Determine the order of year, month, day wheels
$.each(view_part, function (j, v) {
i = dord.search(new RegExp(v, 'i'));
if (i > -1) {
ord.push({ o: i, v: v });
}
});
ord.sort(function (a, b) { return a.o > b.o ? 1 : -1; });
$.each(ord, function (i, v) {
o[v.v] = i;
});
以上其他代码中含有标签,csdn显示上不支持,所以就不帐号出来了。
//参数设置
var opt = {
date: { preset: 'date'},
"default": {
dateFormat: 'yy-mm'//也可以设置成 yy 这样就只显示年度了
}
};
$("#id").mobiscroll($.extend(opt['date'], opt['default']));
这样就可以了,效果图:
源码下载: