先看看样式丰富功能强大的jQuery Tools DateInput截图



首先载入jquery tools插件,要使用DateInput的话还需要载入日历表的CSS样式表,不同的样式表就可以呈现上面截图中的各种样式,样式表可以到官方网站下载,甚至你可以自行修改定义
然后来看看详细的参数用法
input文本框可用的属性
示例:
API
事件
完整使用方法演示



首先载入jquery tools插件,要使用DateInput的话还需要载入日历表的CSS样式表,不同的样式表就可以呈现上面截图中的各种样式,样式表可以到官方网站下载,甚至你可以自行修改定义
然后来看看详细的参数用法
参数 |
---|
默认值 |
---|
说明 |
---|
css |
Object |
日历表CSS样式定义 |
firstDay |
0 |
一周的第一天. 周末 = 0, 周一 = 1 等 …. |
format |
'mm/dd/yy' |
表单input输入框中显示的日期格式 |
lang |
'en' |
本地化语言,默认只提供英文,需要自行定义 |
max |
0 |
最大可选日期 |
min |
0 |
最小可选日期 |
offset |
[0, 0] |
日历表位置偏移量 |
selectors |
false |
是否显示年份和月份的下拉列表 |
speed |
100 |
日历表显示速度 |
trigger |
false |
是否使用日历表打开按钮,如果为true,默认按钮为<A class='caltrigger'>的一个标签 |
value |
input文本框中的初始文本,可以为任意值,不限于标准日期格式,如:Today |
yearRange |
[-5, 5] |
年份选择范围 |
input文本框可用的属性
属性 |
---|
说明 |
---|
disabled |
是否禁用日期输入,如果禁用,则日历框也不会弹出 |
max |
可选的最大日期 |
min |
可选的最小日期 |
readonly |
是否只读,如果只读,则可以弹出日历框但无法选择 |
value |
input文本框中的初始文本,可以为任意值,不限于标准日期格式,如:Today |
da |
初始日期值 |
示例:
API
方法 |
---|
返回值 |
---|
说明 |
---|
addDay(amount) |
API |
移动当前选中日期,如果参数为空,则当前选中日期后移一天 |
addMonth(amount) |
API |
改变当前月份,如果参数为空,则显示下一个月的日历表。当前选中日期不变 |
addYear(amount) |
API |
改变当前年份,如果参数为空,则显示下一年的日历表。当前选中日期不变 |
getConf() |
Object |
获取当前实例的参数配置 |
getCalendar() |
jQuery |
获取日历表对象 |
getInput() |
jQuery |
获取日期输入框 |
getValue() |
Date |
获取当前选中日期 |
getValue(format) |
String |
获取格式化后的当前选中日期 |
hide() |
API |
隐藏日历表 |
isOpen() |
boolean |
测试日历表是否已经被打开 |
setMax(value, [fit]) |
API |
设置最大可选日期,fit参数默认为false,如果为true,且当前选中日期超过最大可选日期,则自动将当前选中日期调整到最大可选日期 |
setMin(value, [fit]) |
API |
设置最小可选日期,fit参数默认为false,如果为true,且当前选中日期小于最小可选日期,则自动将当前选中日期调整到最小可选日期 |
setValue(date) |
API |
设置当前日期,如果参数为空,日历表会自动跳转到当前日期所在月份 |
setValue(year, month, day) |
API |
设置当前日期的另一种形式 |
show() |
API |
显示日历表 |
today() |
API |
跳转到今日 |
事件
事件名称 |
---|
何时发生 |
---|
on |
日历表显示之前 |
on |
日历表完全显示完毕之后 |
change |
选中日期被改变后 |
on |
日历表隐藏时发生,如果返回false则日历表不会被关闭 |
完整使用方法演示
$(function(){
$.tools.dateinput.localize("zh-cn", {
months: '一月,二月,三月,四月,五月,六月,七月,' +
'八月,九月,十月,十一月,十二月',
shortMonths: '一月,二月,三月,四月,五月,六月,七月,' +
'八月,九月,十月,十一月,十二月',
days: '周日,周一,周二,周三,周四,周五,周六',
shortDays: '日,一,二,三,四,五,六'
});
$("input[name='startdate'],input[name='enddate']").dateinput({
lang: 'zh-cn',
format: 'yyyy-mm-dd',
offset: [0, 0],
selectors: true,
css: {input:'selert2'}
});
//[开始日期]决定[结束日期]的最小值
$("input[name='startdate']").data("dateinput").change(function() {
var enddate_obj = $("input[name='enddate']").data("dateinput");
var enddate_min = new Date( this.getValue() );//此处必须新实例化一个日期,否则后面的操作直接影响this对象
enddate_min.setDate(enddate_min.getDate() + 1);//结束日期的最小值设为开始日期的后一天
//当结束日期的最小值限定小于其当前日期就不会触发结束日期的change()事件
//所以这里主动调用一下
//而反之则会触发结束日期的change()事件,此处就不要执行日期改变动作
if(enddate_min < enddate_objgetValue br> myfunc();
}
enddate_obj.setMin(enddate_min, true);
});
//[结束日期]改变时触发
$("input[name='enddate']").data("dateinput").change(function() {
myfunc();
});
});
function myfunc(){}