获得MooTools datepicker的价值

时间:2013-08-21 15:55:17

标签: javascript datepicker mootools

我正在使用此MooTools datepicker

如何使用JavaScript获取当前值(Unix TS或日期)?

我的代码是:

window.addEvent('load', function() {
    new DatePicker('.demo_vista', {
        pickerClass: 'datepicker_vista',
        format: 'm/d/Y',
        allowEmpty: true,
        toggleElements: '.date_toggler'
    });
});

我已尝试过标准getElementById('mydatepicker').value,但我每次都会获得[object NodeList]

2 个答案:

答案 0 :(得分:1)

此datepicker有不同版本。有些输出UNIX没有。

从输入字段/ datepicker获取值,如果您有id,则可以使用$('mydatepicker').valuedocument.id('mydatepicker').value,或者您所描述的普通javascript。检查你得到的值$('mydatepicker')。值是否已经是UNIX。否则你可以解析日期。

如果输入值中没有UNIX时间戳,您可以使用以下命令将日期转换为它:

var unix = new Date(this.value).format('%s');

在选项中(如果没有获得UNIX时间戳),您还可以添加inputOutputFormat: 'U',以指定UNIX应该是输入字段的值(某些版本默认使用此值)。此输入字段是隐藏的,因为datepicker会创建一个您看到的克隆。但是这个隐藏字段是html标记中的字段,因此是ID。

选中 demo ,更改日期并查看控制台。

答案 1 :(得分:0)

DatePicker选项:

  • 格式 - 是一种可见的日期格式。不影响实际输出 提交表单时

  • inputOutputFormat - 定义原始输入值的方式 解释了datepicker输入元素(默认值U是a Unix-timestamp)

  • onSelect - 选择日期时触发事件挂钩

    new DatePicker('.demo_vista', { 
        pickerClass: 'datepicker_vista', 
        format: 'm/d/Y',
        inputOutputFormat: 'm/d/Y',
        allowEmpty: true, 
        toggleElements: '.date_toggler',
        onSelect: function( date ) {
            alert( date );
            alert( $('mydatepicker').value );
        }
    });
    

除非您定义inputOutputFormat选项,否则表单的默认输出将是Unix时间戳,并且该值可以与$('mydatepicker').value一起使用(与document.getElementById('mydatepicker').value相同)