jQuery UI DateTimePicker吐向单个元素

时间:2014-02-02 17:18:54

标签: javascript jquery jquery-ui datetimepicker

(作为一个JS新手,我很想使用一个输入字段并在PHP中快速处理所有这些,这是我的元素。但我也想尝试学习与JS一起生活。)

使用jquery-ui-timepicker-addon.js,我需要将输入划分为相应的字段year,month,day,hour,minutes..

我发现了一些其他类似的问题here on SE,但它们只涉及正常的用户界面时间选择器,它只提供年,月,日三联(从未真正理解为什么)..

但是,使用这些资源,我“破解”几乎可以工作的东西,但问题是被点击以触发选择器的字段总是充满了所有的值......

DEMO:http://jsfiddle.net/obmerk99/9Tk69/2/

现在,再往前走一点,我设法划分了hour:minute对..

DEMO:http://jsfiddle.net/obmerk99/9Tk69/3/

但仍然存在一些问题..

1 - 这必须是人类历史上最丑陋的代码(或者至少是JS) - 必须有更好的方法来做这件事。如果有人向我提供了相同的PHP代码,我会感到羞愧。

2 - 被触发的输入字段仍然获得所有输入..

3 - 仅在触摸TIME时才能正常工作。如果单独设置DATE,timesplit[0]将是未定义的......

4 - 我无法同时工作,点击日期或小时或秒 - 焦点丢失。

编辑我

Better working Demo

这基本上是@Steve Wellens answer

getYear()应更改为getFullYear ..

第一个字段触发器的问题仍然存在(获取完整值)模糊,并且 - 仅当触摸了所有值时它才起作用..(如果你不改变小时,它将是空白的)

此时,我认为使用ONE字段并使用PHP分割将是我的最佳选择(对于少数拥有它的人来说,还有HTML5)。

结束考虑this ..

1 个答案:

答案 0 :(得分:0)

你可以这样试试(我只做了几个字段):

jQuery(document).ready(function () {

    jQuery('.countdown-timepicker').datetimepicker({
        onSelect: function (dateText, inst) {
            var FullDate = new Date(dateText);

            jQuery('.mydate_date_day').val(FullDate.getDate());
            jQuery('.mydate_date_month').val(FullDate.getMonth());
            jQuery('.mydate_time_hour').val(FullDate.getHours());
        }
    });
});

PS:使用类选择单个元素似乎是错误的。