用于web的简单日历控件,支持单选,多选,自定义控件数量,自定义星期显示,自定义工作日的第一天,自定义日期格式,表单自动绑定。
Eson('calendar', {
date : new Date(), //初始日期,默认为当前日期
set_up_date : null, //包含控件展示月份的日期
first_week_day : 0, //一周的第一天,默认为星期日。可选。
weeks : "日一二三四五六", //星期的显示文本,例如 : ['Sun', 'Mon', 'Tues', 'Wed', 'Thur', 'Fri', 'Sat']。可选。
multi_select : false, //是否允许多选
//日期选择事件,this引用为选择的日期对象,y, M, d分别代表年、月、日。
//如果允许显示时间,则h,m,s分别代表小时,分钟和秒
//如果允许多选,则y为包含已选择日期的数组
//如果不定义,并且绑定的文本框,则直接将值赋值给文本框(多选时多个日期逗号连接)。
onselect : function(y, M, d, h, m, s){},
onerror : function(msg){}, //控件出错事件
format : "", //日期格式,未定义onselect时有效。可选yyyy/MM/M/dd/d/H/HH/h/hh/mm/m/ss/s组合。
min : null, //设定起始日期
max : null, //设定结束日期
width : null, //设置控件自动控制的宽度,默认不设置,根据css展示。
cell_height : null, //设置控件日期单元格的高度,宽度由控件自行计算。
show_time : false, //是否显示时间
date_up : function(y, m, d){}, //填充单元格事件,可通过返回值控制单元格内容
before_render : function(date){}, //开始渲染单元格事件
after_render : function(date){}, //单元格渲染结束事件
max_count : 0, //显示多控件时,最多显示的控件数,
control_union : false //是否允许控制器联动(控制器值控件中的年份选择器),
after_select_year : function(y, type){}, //控制器选择年份的事件,y为选择的年份,type为操作类型
after_select_month : function(m, type){} //控制器选择月份的事件,m为选择的月份,type为操作类型
});
after_select_year和after_select_month中的操作类型可取值为:-1,0,1。 -1代表点击了左控制器(减一年或月),0代表点击了面板来选择,1代表点击了右控制器(加一年或月)。
通过link标签引入主题文件或style标签写入主题的css代码。缺点是多主题不能共存。
通过Eson,自动引入指定主题,必须定义主题目录路径。多主题可以共存。
Eson.skin_path = 'styles/'; //不能漏掉后面的“/”
//方式1、全局主题引入
Eson.skin = 'eson'; //全局主题。默认主题为eson,必须显示设置(如果使用默认主题的话)。
//方式2、配置项skin引入
Eson('input1', {skin : 'blue'}); //Eson会自动引入blue主题,并应用到当前控件
Eson('calendar', {
first_week_day : 1,
weeks : "一二三四五六日",
onselect : function(y,m,d){
get("result").innerHTML = y + "-" + m + "-" + d;
}
});
Eson('inputtext', {
onselect : function(y,m,d){
set_val("inputtext", y + "-" + m + "-" + d);
}
});
//或
Eson('inputtext');
Eson('inputtext_time', {
show_time : true
});
Eson('selectdate', {
date : "2012-3-24",
onselect : function(y,m,d){
set_val("inputtext2", y + "-" + m + "-" + d);
}
});
Eson('inputtext3', {
date : "2012-3-24",
min : "2012-3-3",
max : "2012-4-3 23:59:59"
});
Eson('inputtext_m', {
multi_select : true
});
Eson('inputtext_n', {
multi_select : true
});
Eson('inputtext_k', {
multi_select : true,
control_union : true
});
Eson('inputtext_j', {
multi_select : true,
multi : false
});
Eson('inputtext_i', {
multi_select : true,
max_count : 3
});