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

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

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

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

jQuery UI

jQuery UI はjQuery公式のインターフェースライブラリであり、対話型のウェブアプリケーションを作る際に役立ちます。

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

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

Q&A

解決済

datetimepickerで選択された曜日によって表示する時間を変更したいです。

tomtom199
tomtom199

総合スコア10

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

jQuery UI

jQuery UI はjQuery公式のインターフェースライブラリであり、対話型のウェブアプリケーションを作る際に役立ちます。

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

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

2回答

0グッド

1クリップ

1844閲覧

投稿2021/10/13 09:03

編集2021/10/13 09:48

こんにちは。
現在レストランのサイトを制作しています。コンタクトフォームでユーザーが予約したい日付と時間帯を選択できるように"jquery UIのdatetimepicker"を使用しています。

***実現したいこと***

選択された曜日によって表示する時間を変更したいです。
コードにも書いてありますが、
例)月、水、木、金曜日を選択 => 予約可能な時間は、'17:30', "17:45", '20:15', "20:30", "20:45" を表示
土、日曜日を選択 => 予約可能な時間は、'11:30', '11:45', '12:00', '12:15', '17:30', "17:45", '20:15', "20:30", "20:45" を表示

/* main.js */ let changeTimeRange = function (currentDateTime) { if (currentDateTime.getDay() == 6 && currentDateTime.getDay() == 0) { // 土、日曜日が選択されたら予約可能な時間はallowTimesの範囲を表示 alert('weekends') // 表示されない this.setOptions({ allowTimes: [ '11:30', '11:45', '12:00', '12:15', '17:30', "17:45", '20:15', "20:30", "20:45" ], }); // 月、水、木、金曜日が選択されたら予約可能な時間はallowTimesの範囲を表示 } else if (currentDateTime.getDay() == 1 && currentDateTime.getDay() == 3 && currentDateTime.getDay() == 4 && currentDateTime.getDay() == 5) this.setOptions({ allowTimes: [ '17:30', "17:45", '20:15', "20:30", "20:45" ], }); }; jQuery.datetimepicker.setLocale('de'); $('.timepicker').datetimepicker({ minDate: 1, timepicker: true, datepicker: true, // allowTimes: [ // '11:30', '11:45', '12:00', '12:15', '17:30', "17:45", '20:15', "20:30", "20:45" // ], allowTimes: changeTimeRange, format: 'd, F. Y, H:i', onChangeDateTime: changeTimeRange, onShow: changeTimeRange });

参考サイト datetimepickerドキュメント 参考部分は(Set options runtime DateTimePicker #
If select day is Saturday, the minimum set 11:00, otherwise 8:00) 

指摘やアドバイス、参考になる記事をご存知の方がいればとても助かります。よろしくお願いします。

追記

急ぎの案件なのでstackoverflowにも同内容を投稿しました。stackoverflow

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

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

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

下記のような質問は推奨されていません。

  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

tomtom199

2021/10/13 11:02

コメントありがとうございます。追記しました。

回答2

1

イメージ説明

投稿2021/10/13 10:24

編集2021/10/13 15:51
退会済みユーザー

退会済みユーザー

総合スコア0

tomtom199👍を押しています

下記のような回答は推奨されていません。

  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

回答へのコメント

tomtom199

2021/10/13 11:23

この状況でこの条件分岐は確かに不可能ですね。。 || に書き換えた結果、無事に予約可能時間を切り替え表示することができました。 そのコードを貼りますね。アドバイスありがとうございました!!

0

自己解決

letsirK.aivlySさん、アドバイスありがとうございました! :)

/* main.js */ let changeTimeRange = function (currentDateTime) { if (currentDateTime.getDay() == 6 || currentDateTime.getDay() == 0) { this.setOptions({ allowTimes: [ '11:30', '11:45', '12:00', '12:15', '17:30', "17:45", '20:15', "20:30", "20:45" ], }); } else if (currentDateTime.getDay() == 1 || currentDateTime.getDay() == 3 || currentDateTime.getDay() == 4 || currentDateTime.getDay() == 5) this.setOptions({ allowTimes: [ '17:30', "17:45", '20:15', "20:30", "20:45" ], }); }; jQuery.datetimepicker.setLocale('de'); $('.timepicker').datetimepicker({ minDate: 1, timepicker: true, datepicker: true, format: 'd, F. Y, H:i', onChangeDateTime: changeTimeRange, onShow: changeTimeRange, });

投稿2021/10/13 11:25

tomtom199

総合スコア10

下記のような回答は推奨されていません。

  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

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

ただいまの回答率
86.02%

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

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

質問する

関連した質問

同じタグがついた質問を見る

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

jQuery UI

jQuery UI はjQuery公式のインターフェースライブラリであり、対話型のウェブアプリケーションを作る際に役立ちます。

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

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