質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
jQueryプラグイン

jQueryの拡張機能。 様々な種類があり、その数は膨大です。公開済みのプラグインの他にも、自作することもできます。 jQueryで利用できるようにしておくだけで、導入およびカスタマイズが比較的容易に行なえます。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Q&A

解決済

2回答

6431閲覧

jquery.timepicker.jsを利用して最大値を23:59にする方法

k.t.est

総合スコア49

jQueryプラグイン

jQueryの拡張機能。 様々な種類があり、その数は膨大です。公開済みのプラグインの他にも、自作することもできます。 jQueryで利用できるようにしておくだけで、導入およびカスタマイズが比較的容易に行なえます。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

0グッド

0クリップ

投稿2018/05/17 09:30

jquery.timepicker.jsを利用して、stepは30分毎にして、最大値を23:59にする方法をご教示下さい。
(24:00を最大値として選択すると「The specified value "24:00" does not conform to the required format. The format is "HH:mm", "HH:mm:ss" or "HH:mm:ss.SSS" where HH is 00-23, mm is 00-59, ss is 00-59, and SSS is 000-999.」となってしまいます)
もしくは24:00が選択された際には強制的に23:59に書き換える方法でも問題御座いません。
ご教示下さい。

javascript

1 $('#end_time').timepicker({ 2 timeFormat: 'H:i', 3 maxTime:'24:00', 4 show2400: true, 5 });

HTML

1<input type="time" id="end_time">

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

自信ないですがコメントしてみます。間違い見落としがあったらご容赦ください。

timepickerのオプションにshow2400はありますがおそらくtype="text"が前提ではないかと思いました。エラーはtimepickerでもjQueryでもなく、ブラウザー自体から発せられているように見えました。(Windows 10 Chrome 64bit 66.0.3359.181)。

思いついた対処は

案1 type="text"にする
当然ながら24:00がそのまま入力できます。timeではなくなる点が厳しいのかなと思います。

案2 timepickerのshow2400はあきらめて23:30までしか選べないようにする
要件を満たさないですね・・・

案3 selectedTimeイベントで24:00が選ばれたことを知る
selectTimeイベントの動きを見ると24:00が選択された場合val()の内容が空文字列になるようでした。ただの実験レベルでしかなく互換性上の問題等があるかどうかわかりません。が、とりあえず自分の環境ではたまたま期待通りになるように思えました。

Javascript

1const elm = $('#end_time') 2elm.on('selectTime', () => { 3 if (!elm.val()) { 4 elm.val('23:59') 5 } 6})

なおselectTimeイベントはpulldownで選んだ時刻が設定された直後、changeの発火直前に発火するようです。pulldownを選ばない限りは発火しないと思います。

投稿2018/05/17 16:05

KSwordOfHaste

総合スコア18394

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

k.t.est

2018/05/19 01:20

ご回答有難う御座いました。仰られる通りchangeイベントが使用できず困っておりました。無事思っていた通りの挙動を示すことが出来ました!
guest

0

changeTimeイベントで変更時のイベントが拾えそうなので、その時のval()を取得して24:00だったら23:59にval()を調整する、とかですかね。
(未検証につき、まずはやってみてください)

投稿2018/05/17 11:24

m.ts10806

総合スコア80850

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

k.t.est

2018/05/19 01:22

ご回答ありがとう御座いました!今回は別の方をベストアンサーとさせて頂きました。
m.ts10806

2018/05/19 01:29

解決できたようでなによりです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問