質問編集履歴

2

進捗の追加

2020/12/17 08:24

投稿

kanakana77
kanakana77

スコア1

test CHANGED
File without changes
test CHANGED
@@ -172,7 +172,7 @@
172
172
 
173
173
 
174
174
 
175
- **追記**
175
+ **▼▼▼追記▼▼▼**
176
176
 
177
177
  ```html
178
178
 
@@ -260,9 +260,101 @@
260
260
 
261
261
  あっているのかあまり自信がありません。
262
262
 
263
+
264
+
265
+ **▼▼▼追記2▼▼▼**
266
+
267
+ 「人気順」のパロメータが存在したので追加しました。人気順を選択したときはきちんと表示されるようになりましたが
268
+
269
+ 通常のショップ入り口からアクセスしてくるURLが{% category.url %}なので
270
+
271
+ 何の解決にもなりませんでした。
272
+
273
+
274
+
263
- もしわる方がらっゃっらアドバイス頂けたらありいです。。。
275
+ ifの条件を増やせばいいのなと思って書てみましたが何も変化がないです。
264
-
276
+
265
- よろしくおねいいたします。
277
+ 解決から遠ざかった感じがします。
278
+
279
+
280
+
281
+ ```html
282
+
283
+ <div class="itemgroup_sort">
284
+
285
+ <select name="itemsort-select" onChange="location.href=value;" id="itemsort-select">
286
+
287
+ <option value="{% category.url %}?sort=price_low">価格が安い順</option>
288
+
289
+ <option value="{% category.url %}?sort=price_high">価格が高い順</option>
290
+
291
+ <option value="{% category.url %}?sort=priority">人気順</option>
292
+
293
+ <option value="{% category.url %}?sort=latest">新着順</option>
294
+
295
+ </select>
296
+
297
+ </div>
298
+
299
+ <script>
300
+
301
+ var params = getParameter();
302
+
303
+ $("#itemsort-select").val('modalshift');
304
+
305
+ if(params['sort']!==""){
306
+
307
+ $("#itemsort-select").val("{% category.url %}?sort=" + params['sort']);
308
+
309
+ }
310
+
311
+ else if(params['sort']!==""){
312
+
313
+ $("#itemsort-select").val("{% category.url %}");
314
+
315
+ }
316
+
317
+
318
+
319
+ function getParameter(){
320
+
321
+ var paramsArray = [];
322
+
323
+ var url = location.href;
324
+
325
+ parameters = url.split("#");
326
+
327
+ if( parameters.length > 1 ) {
328
+
329
+ url = parameters[0];
330
+
331
+ }
332
+
333
+ parameters = url.split("?");
334
+
335
+ if( parameters.length > 1 ) {
336
+
337
+ var params = parameters[1].split("&amp;");
338
+
339
+ for ( i = 0; i < params.length; i++ ) {
340
+
341
+ var paramItem = params[i].split("=");
342
+
343
+ paramsArray[paramItem[0]] = paramItem[1];
344
+
345
+ }
346
+
347
+ }
348
+
349
+ return paramsArray;
350
+
351
+ };
352
+
353
+ </script>
354
+
355
+ ```
356
+
357
+
266
358
 
267
359
 
268
360
 

1

アドバイスをもらって状況が変化したので追記

2020/12/17 08:24

投稿

kanakana77
kanakana77

スコア1

test CHANGED
File without changes
test CHANGED
@@ -172,6 +172,100 @@
172
172
 
173
173
 
174
174
 
175
+ **追記**
176
+
177
+ ```html
178
+
179
+ <div class="itemgroup_sort">
180
+
181
+ <span class="itemgroup_sort-label">並び順</span>
182
+
183
+ <select name="itemsort-select" onChange="location.href=value;" id="itemsort-select">
184
+
185
+ <option value="{% category.url %}?sort=price_low">価格が安い順</option>
186
+
187
+ <option value="{% category.url %}?sort=price_high">価格が高い順</option>
188
+
189
+ <option value="{% category.url %}">人気順</option>
190
+
191
+ <option value="{% category.url %}?sort=latest">新着順</option>
192
+
193
+ </select>
194
+
195
+ </div>
196
+
197
+ <script>
198
+
199
+ var params = getParameter();
200
+
201
+ $("#itemsort-select").val('modalshift');
202
+
203
+ if(params['sort']!==""){
204
+
205
+ $("#itemsort-select").val("{% category.url %}?sort=" + params['sort']);
206
+
207
+ }
208
+
209
+
210
+
211
+ function getParameter(){
212
+
213
+ var paramsArray = [];
214
+
215
+ var url = location.href;
216
+
217
+ parameters = url.split("#");
218
+
219
+ if( parameters.length > 1 ) {
220
+
221
+ url = parameters[0];
222
+
223
+ }
224
+
225
+ parameters = url.split("?");
226
+
227
+ if( parameters.length > 1 ) {
228
+
229
+ var params = parameters[1].split("&amp;");
230
+
231
+ for ( i = 0; i < params.length; i++ ) {
232
+
233
+ var paramItem = params[i].split("=");
234
+
235
+ paramsArray[paramItem[0]] = paramItem[1];
236
+
237
+ }
238
+
239
+ }
240
+
241
+ return paramsArray;
242
+
243
+ };
244
+
245
+ </script>
246
+
247
+ ```
248
+
249
+ 頂いた回答をもとに上記のように修正したところ、遷移先に合わせてプルダウンを変化させることができました!
250
+
251
+ ですが、「人気順」を選択したときだけプルダウンの表示が消えてしまうバグが発生しており
252
+
253
+ エラーメッセージが下記のように出ています。
254
+
255
+ Uncaught TypeError: Failed to execute 'observe' on 'IntersectionObserver': parameter 1 is not of type 'Element'.
256
+
257
+
258
+
259
+ 人気順にパロメータが無いことが原因かと思うのですが
260
+
261
+ あっているのかあまり自信がありません。
262
+
263
+ もしわかる方がいらっしゃったらアドバイス頂けたらありがたいです。。。
264
+
265
+ よろしくおねがいいたします。
266
+
267
+
268
+
175
269
  ### 補足情報(FW/ツールのバージョンなど)
176
270
 
177
271