0

大家好,我正在尝试使用日期格式与日期选择器分开获取变量。我想获得这些变量的日期、月份和年份,但如何?

这是我的脚本

<script type="text/javascript">
    $(function () {
        $('.date').datepicker({ dateFormat: 'dd.MM.yy' });

    });
    </script>
4

2 回答 2

2

要从 datepicker 获取日期,您应该使用$(".date").datepicker("getDate").

代码:

var date = $(".date").datepicker('getDate');
alert(date.getDate());         // Day of the month
alert(date.getMonth());        // Month with a zero index
alert(date.getDay());          // Day of the week
alert(date.getFullYear());     // The "full" year, e.g. 2011

希望这可以帮助!

于 2012-11-21T14:40:08.190 回答
1

你可以试试这个

$(function(){
    $('.date').datepicker({ 
        dateFormat: 'dd.MM.yy', 
        onSelect:function(text, ui){
            var dt=text.split('.');
            var d=dt[0]; m=dt[1]; y=dt[2];
            console.log(d); // day
            console.log(m); // month
            console.log(y);  // year
        }
    });
});​

每次您从中选择一个日期时,datepicker您都会在三个单独的变量中获得您的日、月和年。

演示

更新: 还请记住,用户可以通过键入直接从键盘更改/输入日期,因此在这种情况下,您必须使用$('.date').on('change', function(){...})来跟踪文本框更改事件。

// textbox change
$('.date').on('change', function(){
    var dt=$(this).val();
    if(dt.match(/^(\d{2}).([a-zA-Z]+).(\d{4})$/))
    {
        var dt=dt.split('.');
        var d=dt[0]; m=dt[1]; y=dt[2];
        console.log(d);
        console.log(m);
        console.log(y);
    }
    else alert('Invalid date format !\n\nValid format example: 05.December.2012');
});

演示(带有文本框更改事件)。

于 2012-11-21T14:45:09.807 回答