0

いくつかの日時フィールドを持つフォームを作成しています。jQuery DateTimePicker プラグインを使用して、フォームをもう少し使いやすくしています - http://trentrichardson.com/examples/timepicker/

ただし、ユーザーが複数の形式で時間を入力できるようにする必要があります。プラグインは、ユーザーが正しい形式でないものをテキスト ボックスに入力することを制限します。15:10 または 15.10 の時間を許可する必要があります。ピッカーが常に 15:10 を吐き出すかどうかは気にしませんが、ユーザーが小数点を入力できるようにする必要があります。これが可能かどうか誰にもわかりますか?

4

2 に答える 2

0

「。」を変更できます。keypress イベントの":"については、例を参照してください

于 2012-10-16T09:47:55.373 に答える
0

で、次の小さな変更を行いますjquery-ui-timepicker-addon.js_doKeyPress

        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);
        }

入力を':*' +サポートするために、また時間の区切りとしても追加しました。:*

timepicker init の使用時:

$('#rest_example_1').timepicker({ ... timeFormat: 'hh.mm tt' });

b/w hh と mmはdot非常に重要です... tt - オプション ... しかし、デフォルト設定は 'hh:mm tt' なので、少し似ている 'hh.mm tt' を使用することをお勧めします。

多かれ少なかれこれは機能します。

于 2012-10-16T12:38:49.723 に答える