質問編集履歴

3

エラーの場合処理を修

2018/11/01 14:57

投稿

wimaru
wimaru

スコア16

test CHANGED
File without changes
test CHANGED
@@ -174,7 +174,7 @@
174
174
 
175
175
  })
176
176
 
177
- .done(function(data){
177
+ .done(function(data, textStatus, jqXHR){
178
178
 
179
179
  $('.change_shop option').remove();
180
180
 
@@ -182,7 +182,9 @@
182
182
 
183
183
  $('.change_shop').append($('<option>').text(name).attr('value', id));
184
184
 
185
+ }).fail(function(jqXHR, textStatus, errorThrown){
186
+
185
- })// エラーの場合処理を追加
187
+ // エラーの場合処理
186
188
 
187
189
  $("div.result").text("エラーが発生しました。ステータス:" + jqXHR.status);
188
190
 
@@ -214,7 +216,7 @@
214
216
 
215
217
  })
216
218
 
217
- .done(function(data){
219
+ .done(function(data, textStatus, jqXHR){
218
220
 
219
221
  $('.change_shop option').remove();
220
222
 
@@ -222,7 +224,9 @@
222
224
 
223
225
  $('.change_shop ').append($('<option>').text(name).attr('value', id));
224
226
 
227
+ }).fail(function(jqXHR, textStatus, errorThrown){
228
+
225
- })// エラーの場合処理を追加
229
+ // エラーの場合処理
226
230
 
227
231
  $("div.result").text("エラーが発生しました。ステータス:" + jqXHR.status);
228
232
 
@@ -363,3 +367,11 @@
363
367
  =エラーの場合処理を追加=
364
368
 
365
369
  上記/*都道府県用に追記した部分*/に、デバッグコードを追加してみましたが、何も表示されません。
370
+
371
+
372
+
373
+ =エラーの場合処理を修正=
374
+
375
+ 上記/*都道府県用に追記した部分*/に、.fail(function(jqXHR, textStatus, errorThrown)が漏れておりました。
376
+
377
+ すいません

2

エラーの場合処理を追加

2018/11/01 14:57

投稿

wimaru
wimaru

スコア16

test CHANGED
File without changes
test CHANGED
@@ -182,9 +182,13 @@
182
182
 
183
183
  $('.change_shop').append($('<option>').text(name).attr('value', id));
184
184
 
185
+ })// エラーの場合処理を追加
186
+
187
+ $("div.result").text("エラーが発生しました。ステータス:" + jqXHR.status);
188
+
185
- });
189
+ });
186
-
190
+
187
- });
191
+ });
188
192
 
189
193
 
190
194
 
@@ -218,13 +222,13 @@
218
222
 
219
223
  $('.change_shop ').append($('<option>').text(name).attr('value', id));
220
224
 
221
- });
225
+ })// エラーの場合処理を追加
222
-
226
+
223
- });
227
+ $("div.result").text("エラーが発生しました。ステータス:" + jqXHR.status);
224
228
 
225
229
  });
226
230
 
227
- });
231
+ });
228
232
 
229
233
  </script>
230
234
 
@@ -351,3 +355,11 @@
351
355
  =現象=
352
356
 
353
357
  追記したものを入れ込んでみましたが、単純に<script></script>部分をコピーし、変数部分を都道府県に合わせてみたのですが、返り値が戻ってこないのか、市町村選択も出来ない状態です。
358
+
359
+
360
+
361
+
362
+
363
+ =エラーの場合処理を追加=
364
+
365
+ 上記/*都道府県用に追記した部分*/に、デバッグコードを追加してみましたが、何も表示されません。

1

自身で追記したものを入れ込んでみました

2018/11/01 14:44

投稿

wimaru
wimaru

スコア16

test CHANGED
File without changes
test CHANGED
@@ -68,14 +68,96 @@
68
68
 
69
69
  </select>
70
70
 
71
+
72
+
73
+ /*都道府県用に追記した部分*/
74
+
71
75
  <script>
72
76
 
73
77
  $(function () {
74
78
 
75
-
76
-
77
79
  $.ajax({
78
80
 
81
+ url: "area.php",
82
+
83
+ type: "POST",
84
+
85
+ dataType: 'json',
86
+
87
+ data: {
88
+
89
+ city_id: $(".change_area").val(),
90
+
91
+ mode: "mail"
92
+
93
+ }
94
+
95
+ })
96
+
97
+ .done(function(data){
98
+
99
+ $('.change_city option').remove();
100
+
101
+ $.each(data, function(id, name){
102
+
103
+ $('.change_city ').append($('<option>').text(name).attr('value', id));
104
+
105
+ });
106
+
107
+ });
108
+
109
+
110
+
111
+
112
+
113
+ $('.change_city').on('change', function(){
114
+
115
+ $.ajax({
116
+
117
+ url: "area.php",
118
+
119
+ type: "POST",
120
+
121
+ dataType: 'json',
122
+
123
+ data: {
124
+
125
+ school_id: $(".change_area").val(),
126
+
127
+ mode: "mail"
128
+
129
+ }
130
+
131
+ })
132
+
133
+ .done(function(data){
134
+
135
+ $('.change_city option').remove();
136
+
137
+ $.each(data, function(id, name){
138
+
139
+ $('.change_city ').append($('<option>').text(name).attr('value', id));
140
+
141
+ });
142
+
143
+ });
144
+
145
+ });
146
+
147
+ });
148
+
149
+ </script>
150
+
151
+ /*都道府県用に追記した部分*/
152
+
153
+ <script>
154
+
155
+ $(function () {
156
+
157
+
158
+
159
+ $.ajax({
160
+
79
161
  url: "shop.php",
80
162
 
81
163
  type: "POST",
@@ -148,7 +230,7 @@
148
230
 
149
231
  ```
150
232
 
151
- ### 該当ソースコード shop.php
233
+ ### 市町村用元々あった shop.php
152
234
 
153
235
 
154
236
 
@@ -203,3 +285,69 @@
203
285
  echo json_encode($model_list);
204
286
 
205
287
  ```
288
+
289
+
290
+
291
+
292
+
293
+ ### 都道府県用に追加した area.php
294
+
295
+
296
+
297
+ ```ここに言語を入力
298
+
299
+ //Ajaxで渡ってきた値をもとに modelテーブル から該当する model を抽出
300
+
301
+ $school_id = $_POST['area_id'];
302
+
303
+ $mode = "none";
304
+
305
+ if( isset($_POST['mode']) )
306
+
307
+ $mode = $_POST['mode'];
308
+
309
+
310
+
311
+ $db = new db_master();
312
+
313
+ $class_list = $db->select("table名", array(), "area_id=\"" . $area_id. "\" ORDER BY area_name ASC", "multi");
314
+
315
+
316
+
317
+ //抽出された値を $model_list配列 に格納
318
+
319
+ $model_list = array();
320
+
321
+ if($mode == "none")
322
+
323
+ $model_list[0] = "選択してください";
324
+
325
+ else if($mode == "mail")
326
+
327
+ $model_list[0] = "店舗を指定しない";
328
+
329
+
330
+
331
+ foreach($class_list as $key => $value)
332
+
333
+ {
334
+
335
+ $model_list[$value["class_id"]] = $value["class_name"];
336
+
337
+ }
338
+
339
+
340
+
341
+ header('Content-Type: application/json');
342
+
343
+ //json形式で index.php へバックする
344
+
345
+ echo json_encode($model_list);
346
+
347
+ ```
348
+
349
+
350
+
351
+ =現象=
352
+
353
+ 追記したものを入れ込んでみましたが、単純に<script></script>部分をコピーし、変数部分を都道府県に合わせてみたのですが、返り値が戻ってこないのか、市町村選択も出来ない状態です。