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

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

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

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

Q&A

解決済

1回答

721閲覧

jqueryのtimepickerにてセレクトボックスの変更で別のセレクトボックスを連動させる

memimemi

総合スコア25

jQuery

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

0グッド

1クリップ

投稿2019/06/03 15:55

編集2019/06/04 09:46

前提・実現したいこと

いつもありがとうございます。
Jqueryで作成している、○○時~○○時を選択する二つのセレクトボックスを連動させたいと思っています。

現在のコード

$(function () { $("#timepicker_b").timepicker({ timeFormat: 'HH:mm', interval: 15, minTime: '8.3', maxTime: '19:00pm', defaultTime: '8.3', startTime: '8.3', dynamic: false, dropdown: true, scrollbar: true }); $("#timepicker_a").timepicker({ timeFormat: 'HH:mm', interval: 15, minTime: '8.3', maxTime: '19:00pm', defaultTime: '10', startTime: '8.3', dynamic: false, dropdown: true, scrollbar: true }); });

timepicker_aとtimepicker_bが存在し、
aの変更に合わせてb側のminTimeとdefaultTimeをaの値になるように変更したいです。

aで10:00を選択したらb側はデフォルトで10:00になって最小も10:00になるのでそれ以前の時刻が選べないようにするにはどうしたらよいでしょうか?

また、a側を変更したらbを反映するという風にしてしまうとb側から設定を始めた場合、aを選択した時点でbが再度選択しなおしになるためなかなか処理が難しく感じています・・・

追記(間違いがあったので修正)

使用ライブラリはjquery timepicker

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

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

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

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

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

x_x

2019/06/04 02:24

timepicker と呼ばれるものはたくさんあるので、どれなのか明記してください
memimemi

2019/06/04 08:46

失礼しました。 追記にて利用しておりますライブラリを記載いたしました。
x_x

2019/06/04 09:03

本当にこれであってますか? http://www.jonthornton.com/jquery-timepicker/ 試してみましたが、オプションの値が違いすぎて単体でもまともに表示することさえできないと思います。
memimemi

2019/06/04 09:48

全く同名のライブラリとリンクを間違えていました。追記を修正させていただきました。 お手数おかけしてすみませんでしたm(_ _)m
guest

回答1

0

ベストアンサー

ドキュメントを見ると change イベントが用意されているのでこれを使います。
https://timepicker.co/options/#plugin-events

オプションを変更する機能が書かれていないのですが、デモには変更する例があるのでそちらを参考にしましょう(バージョン1.2以降)。
https://jsfiddle.net/wvega/A9cE6/embedded/result,js,html,css,resources/

jQuery

1 change: function(time) { 2 var b = $("#timepicker_b"); 3 var instance = b.timepicker(); 4 instance.option('minTime', time); 5 instance.option('defaultTime', time); 6 if (b.val() < this.val()) { 7 b.val(this.val()); 8 } 9 }

投稿2019/06/05 06:35

x_x

総合スコア13749

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

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

memimemi

2019/06/05 11:55

ご丁寧に回答ありがとうございました。 いただいたコードで試してみたのですが、change: function(time) の部分が反応しないようで うまくいきませんでした。 $("#timepicker_b").change(function(time) {  console.log('チェンジ'); 等も試しているのですがチェンジされている状態が反映されていないのでしょうか?
x_x

2019/06/06 04:28

バージョンはいくつでしょうか? ドキュメントにある内容がいつから追加されたのかわからないのでなるべく最新版で動かしましょう。わたしは最新版でしか検証していません。 また、デモもあるので見比べてみてはどうでしょうか? https://jsfiddle.net/wvega/xJRGw/embedded/result,js,html,css,resources/
memimemi

2019/06/08 01:16

回答遅くなりすみません ネットからダウンロードしてきたものはバージョンが古かったみたいで最新版をダウンロードしてきたら問題なく反映されました! ご丁寧に解説いただきましてありがとうございます
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問