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

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

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

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

JavaScript

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

Q&A

1回答

2692閲覧

jquery-ui-datepickerの選択不可日を動的に変更したい

vio

総合スコア15

jQuery UI

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

JavaScript

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

0グッド

0クリップ

投稿2020/01/30 10:36

前提・実現したいこと

「jQuery ui Datepicker」というカレンダー用のjsを使用し、
事前に選択された「都道府県」の箇所によって、カレンダーの選択不可日を設定したいです。

例えば沖縄県が選択された場合は、現在の日付から6日後以降が選択可能になる。
北海道が選択された場合は、現在の日付から4日後以降が選択可能になる…などです。

「jQuery ui Datepicker」については下記を参考にしております。
超簡単!カレンダーから日付入力する方法:jQuery ui Datepicker
http://www.webdesign-fan.com/jquery-ui-datepicker

発生している問題・エラーメッセージ

最初に沖縄県を選択した場合、選択できる最短日付を6日後以降に設定する事はできました。
ただその後で都道府県を変更した時、沖縄県でなくとも6日後からの設定になってしまいます。

例えば最初に沖縄県を選択した時は「最短6日目以降選択可」、
その後に北海道を選択したら「最短4日以降選択可」という風にカレンダーの設定を行いたいです。

該当のソースコード

javascript

1switch ( pre_val ) { 2 case '沖縄県': 3 mindate = 6; 4 break; 5 case '北海道': 6 mindate = 4; 7 break; 8} 9 10$('.cal').datepicker({ 11 dateFormat: dateFormat, 12 minDate:'+' + mindate + 'd' 13});

方法が思い浮かばず質問をさせていただきました…恐れ入りますがご教示いただけますと幸いです。

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

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

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

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

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

m.ts10806

2020/01/30 11:57

コードこれだけで全部ではないですよね。 きちんと他者がコピペで状況分かるコードをご提示ください
guest

回答1

0

ドキュメントが公開されていますので再確認してください。

datepicker プラグインに備わっている 各methods を試してみてはどうでしょう?

ざっくり読んだだけですが、2つの方法を思いつきます。

  1. オプションで与えた値は後から変更できるのではないでしょうか。

1.1. $(".cal").datepicker("options","minDate", '+' + mindate + 'd');
2. datepicker Widgetを作り直す。
2.1. $(".cal").datepicker("destroy"); datepicker を無効化する。
2.2. $(".cal").datepicker({/* otherOpts */}); 新しいオプションで作り直す。


初心者マークでのご質問ですので、jQueryプラグインの構文を補足:

  • 初期化オプションを与えて有効化する。

$(selector).pluginName ( options )

  • メソッド経由でプロパティ確認/能動的に機能させる。

$(selector).pluginName ( methodName[,argument[,...]] )

投稿2020/02/03 08:50

AkitoshiManabe

総合スコア5432

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問