質問編集履歴

3

補足の追加

2018/12/20 08:52

投稿

ofuru.no.good
ofuru.no.good

スコア15

test CHANGED
File without changes
test CHANGED
@@ -105,3 +105,89 @@
105
105
  </div><!-- /#accordion -->
106
106
 
107
107
  ```
108
+
109
+
110
+
111
+ ※補足
112
+
113
+ view if (($menu->id) == ($eat->eat_menu_id)) {
114
+
115
+
116
+
117
+ <div id="<?=h($eat->eat_menu_id); ?>・・・
118
+
119
+ したにもってきたら、自動開閉されました。
120
+
121
+ しかし、検証でソースを確認するとデータが重複してました。
122
+
123
+
124
+
125
+ ```view
126
+
127
+ <div class="accordion" id="accordionOne" role="tablist" aria-multiselectable="true">
128
+
129
+ <div class="card">
130
+
131
+ <div class="card-header">
132
+
133
+ <b class="mb-0 d-inline-block">
134
+
135
+ メニュー
136
+
137
+ </b>
138
+
139
+ </div><!-- /.card-header -->
140
+
141
+ <?php
142
+
143
+ foreach ($menus as $menu) {
144
+
145
+ ?>
146
+
147
+ <div class="card-header" role="tab" id="<?=h($menu->id); ?>">
148
+
149
+ <a class="collapsed" data-toggle="collapse" href="#<?=h($menu->id); ?>" role="button" aria-expanded="false" aria-controls="<?=h($menu->id); ?>">
150
+
151
+ <?=h($menu->name); ?>
152
+
153
+ </a>
154
+
155
+ </div>
156
+
157
+ <?php
158
+
159
+ foreach ($eats as $eat) {
160
+
161
+ ?>
162
+
163
+ <div id="<?=h($eat->eat_menu_id); ?>" class="collapse" role="tabpanel" data-parent="#accordionOne" aria-labelledby="<?=h($eat->eat_menu_id); ?>">
164
+
165
+ <?php
166
+
167
+ if (($menu->id) == ($eat->eat_menu_id)) {
168
+
169
+ ?>
170
+
171
+ <div class="float-left col-10"><?=h('Q.'); ?><?=h($eat->name); ?></div>
172
+
173
+ <?php
174
+
175
+ }
176
+
177
+ ?>
178
+
179
+ </div>
180
+
181
+ <?php
182
+
183
+ }
184
+
185
+ }
186
+
187
+ ?>
188
+
189
+ </div><!-- /.card -->
190
+
191
+ </div><!-- /#accordion -->
192
+
193
+ ```

2

idを一意に修正

2018/12/20 08:52

投稿

ofuru.no.good
ofuru.no.good

スコア15

test CHANGED
File without changes
test CHANGED
@@ -64,7 +64,7 @@
64
64
 
65
65
  <div class="card-header" role="tab" id="<?=h($menu->id); ?>">
66
66
 
67
- <a class="collapsed" data-toggle="collapse" href="#mune<?=h($menu->id); ?>" role="button" aria-expanded="false" aria-controls="<?=h($menu->id); ?>">
67
+ <a class="collapsed" data-toggle="collapse" href="#<?=h($menu->id); ?>" role="button" aria-expanded="false" aria-controls="<?=h($menu->id); ?>">
68
68
 
69
69
  <?=h($menu->name); ?>
70
70
 
@@ -80,7 +80,7 @@
80
80
 
81
81
  ?>
82
82
 
83
- <div id="menu<?=h($eat->eat_menu_id); ?>" class="collapse" role="tabpanel" data-parent="#accordionOne" aria-labelledby="<?=h($eat->eat_menu_id); ?>">
83
+ <div id="<?=h($eat->eat_menu_id); ?>" class="collapse" role="tabpanel" data-parent="#accordionOne" aria-labelledby="<?=h($eat->eat_menu_id); ?>">
84
84
 
85
85
  <div class="float-left col-10"><?=h('Q.'); ?><?=h($eat->name); ?></div>
86
86
 

1

修正

2018/12/20 08:41

投稿

ofuru.no.good
ofuru.no.good

スコア15

test CHANGED
File without changes
test CHANGED
@@ -1,18 +1,12 @@
1
1
  ~行いたいこと~
2
2
 
3
3
  ・アコーディオンのdata-parentで自動開閉を行いたい
4
-
5
- ・menuを開いたときmenuのidを1回取得したい
6
4
 
7
5
 
8
6
 
9
7
  ~現在の状況~
10
8
 
11
9
  ・data-parentが効かず、自動開閉できない
12
-
13
- ・menuを押したとき、eatが1件以上存在する場合、件数分取得してしまう。
14
-
15
-  -(例)「揚げ物」をタップし開くと、「唐揚げ、コロッケ、メンチカツ」が存在するため、「揚げ物」のidが3回取得されてしまう。
16
10
 
17
11
 
18
12
 
@@ -111,21 +105,3 @@
111
105
  </div><!-- /#accordion -->
112
106
 
113
107
  ```
114
-
115
- ```JS
116
-
117
- $(function() {
118
-
119
- $('div[class="collapse"]').on('shown.bs.collapse',function() {
120
-
121
- var menu_id = $(this).attr("id");
122
-
123
- console.log(this);
124
-
125
- console.log(menu_id);
126
-
127
- });
128
-
129
- });
130
-
131
- ```