teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

4

見直し

2020/01/16 10:07

投稿

退会済みユーザー
answer CHANGED
@@ -14,6 +14,9 @@
14
14
  ![イメージ説明](1c7e1d2819f22b7f69234479b380d787.png)
15
15
  jsonやxmlなどで応答を返す、専用のphp処理を用意する手間が生じるので、
16
16
  ajaxとかjsonとか勉強しながら取り組む必要があるかな。
17
+ ページの再読み込みが発生しない分、ちゃんと機能すれば
18
+ ユーザー体験的にはこれがおすすめ。
19
+ ajaxもjsonもまとめ記事とかに参考事例があるので、そんなに難しくないと思いたい。
17
20
 
18
21
  (3)
19
22
  あるいは、ページが重くなる可能性が高いけど、

3

見直し

2020/01/16 10:07

投稿

退会済みユーザー
answer CHANGED
@@ -1,17 +1,27 @@
1
+ (1)
1
2
  1つ目の地域を選んだタイミングで、jsで支援してフォーム送信して、
2
3
  1つ目の地域に絞り込んだ2つ目の項目を出力し直すというやり方もあるし。
3
- (この画面を出力する際に、1つ目の地域のパラメータを受信しているかどうかで処理分岐をかける。)
4
4
  ![イメージ説明](cdb6eff42c3e8e5d65c8447f8cb0f051.png)
5
+ この画面を出力する際に、1つ目の地域のパラメータを受信しているかどうかで処理分岐をかける。
6
+ 出力するhtmlなどのデータ量が少ないし、
7
+ js依存度は少ないのでシンプルなのでデバッグしやすいだろうし、
8
+ この路線でまずやってみることをおすすめしたい。
5
9
 
10
+ (2)
11
+ 1つ目の地域を絞り込んだタイミングで、
6
- 1つ目の地域を絞り込んだタイミングで、jsで支援して2つ目の項目用のデータを取得するajaxを駆使して、
12
+ jsで支援して2つ目の項目用のデータを取得するajaxを駆使して、
7
- 応答があり次第2つ目の項目をレンダリングするというやり方もあるし。
13
+ 応答で受け取るデータを元に2つ目の項目をレンダリングするというやり方もあるし。
8
- (jsonやxmlなどで応答を返す、専用のphp処理を用意する手間が生じるけども。)
9
14
  ![イメージ説明](1c7e1d2819f22b7f69234479b380d787.png)
15
+ jsonやxmlなどで応答を返す、専用のphp処理を用意する手間が生じるので、
16
+ ajaxとかjsonとか勉強しながら取り組む必要があるかな。
10
17
 
18
+ (3)
11
19
  あるいは、ページが重くなる可能性が高いけど、
12
20
  すべての地域のデータをjs上に持っといて、
13
21
  1つ目の地域を選択したら2つ目の地域の項目をjsで作っちゃうとか。
14
22
  ![イメージ説明](a4e649a227c33160299f1a6632a85ee0.png)
23
+ 全地域のデータを出力するためにサーバーの能力やデータベースの能力次第では
24
+ ページの表示が終わるのが遅いなんて結果になりやすい。
15
25
 
16
26
  言いたいことがうまく伝わるか、自信ないし、サンプルコードも示せないので、
17
27
  他の方の回答に期待します。

2

図で補ってみた

2020/01/16 10:05

投稿

退会済みユーザー
answer CHANGED
@@ -1,14 +1,17 @@
1
1
  1つ目の地域を選んだタイミングで、jsで支援してフォーム送信して、
2
2
  1つ目の地域に絞り込んだ2つ目の項目を出力し直すというやり方もあるし。
3
3
  (この画面を出力する際に、1つ目の地域のパラメータを受信しているかどうかで処理分岐をかける。)
4
+ ![イメージ説明](cdb6eff42c3e8e5d65c8447f8cb0f051.png)
4
5
 
5
6
  1つ目の地域を絞り込んだタイミングで、jsで支援して2つ目の項目用のデータを取得するajaxを駆使して、
6
7
  応答があり次第2つ目の項目をレンダリングするというやり方もあるし。
7
8
  (jsonやxmlなどで応答を返す、専用のphp処理を用意する手間が生じるけども。)
9
+ ![イメージ説明](1c7e1d2819f22b7f69234479b380d787.png)
8
10
 
9
11
  あるいは、ページが重くなる可能性が高いけど、
10
12
  すべての地域のデータをjs上に持っといて、
11
13
  1つ目の地域を選択したら2つ目の地域の項目をjsで作っちゃうとか。
14
+ ![イメージ説明](a4e649a227c33160299f1a6632a85ee0.png)
12
15
 
13
16
  言いたいことがうまく伝わるか、自信ないし、サンプルコードも示せないので、
14
17
  他の方の回答に期待します。

1

見直し

2020/01/16 10:00

投稿

退会済みユーザー
answer CHANGED
@@ -4,4 +4,11 @@
4
4
 
5
5
  1つ目の地域を絞り込んだタイミングで、jsで支援して2つ目の項目用のデータを取得するajaxを駆使して、
6
6
  応答があり次第2つ目の項目をレンダリングするというやり方もあるし。
7
- (jsonやxmlなどで応答を返す、専用のphp処理を用意する手間が生じるけども。)
7
+ (jsonやxmlなどで応答を返す、専用のphp処理を用意する手間が生じるけども。)
8
+
9
+ あるいは、ページが重くなる可能性が高いけど、
10
+ すべての地域のデータをjs上に持っといて、
11
+ 1つ目の地域を選択したら2つ目の地域の項目をjsで作っちゃうとか。
12
+
13
+ 言いたいことがうまく伝わるか、自信ないし、サンプルコードも示せないので、
14
+ 他の方の回答に期待します。