Skip to content

DateBox(日期输入框)

扩展自$.fn.iCombo.defaults。使用$.fn.iDatebox.defaults重写默认值对象。

日期输入框结合了一个可编辑的文本框控件和允许用户选择日期的下拉日历面板控件。选择的日期会自动转变为一个有效的日期然后填充到文本框中。选定的日期也可以被格式化为预定格式。

依赖关系

使用案例

使用标签创建日期输入框。

html
<input id="dd" type="text" data-toggle="topjui-datebox" data-options="required">

使用javascript创建创建日期输入框。

html
<input id="dd" type="text">
javascript
$('#dd').iDatebox({
    required:true
});

属性

日期输入框扩展自combo(自定义下拉框),日期输入框新增的属性如下:

属性名属性值类型描述默认值
panelWidthnumber下拉日历面板宽度。180
panelHeightnumber下拉日历面板高度。auto
currentTextstring显示当天按钮。Today
closeTextstring显示关闭按钮。Close
okTextstring显示OK按钮。Ok
disabledboolean该属性值为true时禁用该字段。FALSE
buttonsarray在日历下面的按钮。见下方代码示例。
sharedCalendarstring,selector将一个日历控件共享给多个datebox控件使用。见下方代码示例。null
formatterfunction该函数用于格式化日期,它有一个'date'参数并且会返回一个字符串类型的值。见下方代码示例。
parserfunction该函数用于解析一个日期字符串,它有一个'date'字符串参数并且会返回一个日期类型的值。见下方代码示例。

属性代码示例

buttons属性示例:

javascript
var buttons = $.extend([], $.fn.iDatebox.defaults.buttons);
buttons.splice(1, 0, {
    text: 'MyBtn',
    handler: function(target){
        alert('click MyBtn');
    }
});
$('#dd').iDatebox({
    buttons: buttons
});

sharedCalendar属性示例:

html
<input data-toggle="topjui-datebox" sharedcalendar="#sc">
<input data-toggle="topjui-datebox" sharedcalendar="#sc">
<div id="sc" data-toggle="topjui-calendar"></div>

formatter属性示例:

下面的一个例子展示了如何重写默认的formatter函数:

javascript
$.fn.iDatebox.defaults.formatter = function(date){
    var y = date.getFullYear();
    var m = date.getMonth()+1;
    var d = date.getDate();
    return m+'/'+d+'/'+y;
}

parser属性示例:

下面的一个例子展示了如何重写默认的parser函数:

javascript
$.fn.iDatebox.defaults.iParser = function(s){
    var t = Date.parse(s);
    if (!isNaN(t)){
        return new Date(t);
    } else {
        return new Date();
    }
}

事件

事件名事件参数描述
onSelectdate在用户选择了一个日期的时候触发。见下方代码示例。

事件代码示例

onSelect事件示例:

javascript
$('#dd').iDatebox({
    onSelect: function(date){
        alert(date.getFullYear()+":"+(date.getMonth()+1)+":"+date.getDate());
    }
});

方法

方法扩展自 combo(自定义下拉框),日期输入框重写的方法如下:

方法名方法参数描述
optionsnone返回属性对象。
calendarnone获取日历对象。见下方代码示例。
setValuevalue设置日期输入框的值。见下方代码示例。
cloneFromfrom克隆一个datebox控件。见下方代码示例。

方法代码示例

setValue方法示例:

javascript
$('#dd').iDatebox('setValue', '6/1/2012');  // 设置日期输入框的值
var v = $('#dd').iDatebox('getValue');  // 获取日期输入框的值

calendar方法示例:

下面的例子显示了如果获取日历对象并重新创建它:

javascript
// 获取日历对象
var c = $('#dd').iDatebox('calendar');
// 设置一周的第一天是星期几(0是周日,1是周一)
c.calendar({
    firstDay: 1
});

cloneFrom方法示例:

html
<input id="from" data-toggle="topjui-datebox">
javascript
// 克隆一个存在的datebox组件
$('.dt').iDatebox('cloneFrom', '#from');

基于最新稳定版jQuery EasyUI构建的前端框架