jQuery Datetimepicker-允许多种时间格式

jQuery Datetimepicker-允许多种时间格式,jquery,jquery-ui,jquery-ui-datepicker,Jquery,Jquery Ui,Jquery Ui Datepicker,我正在构建一个带有一些datetime字段的表单。我正在使用jQuery DateTimePicker插件使表单更加友好- 我需要允许用户以多种格式键入时间。该插件限制用户在文本框中键入任何格式不正确的内容。我需要留出15:10或15.10的时间。我不介意选择器是否总是15:10吐出,但我需要允许用户键入小数点。有人知道这是否可行吗?您可以将“更改为”:“在按键事件中,请参阅\u doKeyPress中的jquery ui timepicker addon.js中的进行以下小更改:

我正在构建一个带有一些datetime字段的表单。我正在使用jQuery DateTimePicker插件使表单更加友好-


我需要允许用户以多种格式键入时间。该插件限制用户在文本框中键入任何格式不正确的内容。我需要留出15:10或15.10的时间。我不介意选择器是否总是15:10吐出,但我需要允许用户键入小数点。有人知道这是否可行吗?

您可以将更改为”:“在按键事件中,请参阅
\u doKeyPress
中的
jquery ui timepicker addon.js
中的进行以下小更改:

        if ($.datepicker._get(inst, 'constrainInput')) {
            var ampm = tp_inst._defaults.ampm,
                dateChars = $.datepicker._possibleChars($.datepicker._get(inst, 'dateFormat')),
                datetimeChars = tp_inst._defaults.timeFormat.toString()
                                        .replace(/[hms]/g, '')
                                        .replace(/TT/g, ampm ? 'APM' : '')
                                        .replace(/Tt/g, ampm ? 'AaPpMm' : '')
                                        .replace(/tT/g, ampm ? 'AaPpMm' : '')
                                        .replace(/T/g, ampm ? 'AP' : '')
                                        .replace(/tt/g, ampm ? 'apm' : '')
                                        .replace(/t/g, ampm ? 'ap' : '') + 
                                        " " + tp_inst._defaults.separator +
                                        tp_inst._defaults.timeSuffix +
                                        (tp_inst._defaults.showTimezone ? tp_inst._defaults.timezoneList.join('') : '') +
                                        (tp_inst._defaults.amNames.join('')) + (tp_inst._defaults.pmNames.join('')) +
                                        ':*' +
                                        dateChars,
                chr = String.fromCharCode(event.charCode === undefined ? event.keyCode : event.charCode);
            return event.ctrlKey || (chr < ' ' || !dateChars || datetimeChars.indexOf(chr) > -1);
        }
if($.datepicker.\u get(inst,'constraintinput')){
var ampm=tp_inst.\u defaults.ampm,
dateChars=$.datepicker.\u可能的字符($.datepicker.\u get(inst,'dateFormat')),
datetimeChars=tp\u inst.\u defaults.timeFormat.toString()
.替换(/[hms]/g')
.替换(/TT/g,ampm?'APM':'')
.替换(/Tt/g,ampm?'AaPpMm':“”)
.替换(/tT/g,ampm?'AaPpMm':“”)
.替换(/T/g,ampm?'AP':'')
.替换(/tt/g,ampm?'apm':'')
.替换(/t/g,ampm?'ap':'')+
“”+tp\u inst.\u默认值分隔符+
tp_inst._defaults.timeSuffix+
(tp_inst.\u defaults.showTimezone?tp_inst.\u defaults.timezoneList.join(“”):“”)+
(tp_inst._defaults.amNames.join(“”))+(tp_inst._defaults.pmNames.join(“”))+
':*' +
dateChars,
chr=String.fromCharCode(event.charCode==未定义?event.keyCode:event.charCode);
return event.ctrlKey | | |(chr<''| | |!dateChars | | datetimeChars.indexOf(chr)>-1);
}
我添加了
':*'+
以支持输入
*
作为时间分隔符

在时间选择器初始化时使用:

$('#rest_示例_1')。时间选择器({ ... 时间格式:“hh.mm tt” });

dot
b/w hh和mm非常重要。。。tt-可选。。。但是默认设置是'hh:mmtt',所以最好使用有点类似的'hh.mmtt'

这或多或少是可行的