質問編集履歴

3

2015/12/24 12:26

投稿

atsupoooon
atsupoooon

スコア47

test CHANGED
File without changes
test CHANGED
@@ -4,16 +4,274 @@
4
4
 
5
5
 
6
6
 
7
- のサイトを参考に実装しており
8
-
9
- 下記のサイトのDBからデータを参照する形式では、
10
-
11
- 実装できませんでした。
12
-
13
-
14
-
15
- 参考サイト:http://wataame.sumomo.ne.jp/archives/7190
16
-
17
-
18
-
19
- 他にやり方などありすでょうか?
7
+ 具体的な内容をしてせんでした
8
+
9
+
10
+
11
+
12
+
13
+ 下記サイトを参考して、
14
+
15
+ http://wataame.sumomo.ne.jp/archives/7190
16
+
17
+
18
+
19
+ **1.jQueryとjQuery UIを読み込みました。**
20
+
21
+
22
+
23
+ **2.フォームの作成**
24
+
25
+ ```
26
+
27
+ <?php echo $this->Form->input('name', array(
28
+
29
+ 'type' => 'text',
30
+
31
+ 'id' => 'autocomplete',
32
+
33
+ )); ?>
34
+
35
+ ```
36
+
37
+
38
+
39
+ 3.Javascriptの読み込み
40
+
41
+ ```
42
+
43
+ <script>
44
+
45
+ $(function() {
46
+
47
+ var availableTags = [
48
+
49
+ "ActionScript",
50
+
51
+ "AppleScript",
52
+
53
+ "Asp",
54
+
55
+ "BASIC",
56
+
57
+ "C",
58
+
59
+ "C++",
60
+
61
+ "Clojure",
62
+
63
+ "COBOL",
64
+
65
+ "ColdFusion",
66
+
67
+ "Erlang",
68
+
69
+ "Fortran",
70
+
71
+ "Groovy",
72
+
73
+ "Haskell",
74
+
75
+ "Java",
76
+
77
+ "JavaScript",
78
+
79
+ "Lisp",
80
+
81
+ "Perl",
82
+
83
+ "PHP",
84
+
85
+ "Python",
86
+
87
+ "Ruby",
88
+
89
+ "Scala",
90
+
91
+ "Scheme"
92
+
93
+ ];
94
+
95
+
96
+
97
+ $("#autocomplete").autocomplete({
98
+
99
+ source: availableTags,
100
+
101
+ autoFocus: true,
102
+
103
+ delay: 500,
104
+
105
+ minLength: 1
106
+
107
+ });
108
+
109
+ });
110
+
111
+ </script>
112
+
113
+ ```
114
+
115
+
116
+
117
+ 1~3までの手順を実施して問題なく、指定のフォームに
118
+
119
+ Javascriptのリストがフォームの下に表示され選択できるようになりました。
120
+
121
+
122
+
123
+
124
+
125
+ 4.Javascriptの変更
126
+
127
+ 3.の内容を下記に変更
128
+
129
+ ```
130
+
131
+ <script type="text/javascript">
132
+
133
+ $(function(){
134
+
135
+ $('#autocomplete').autocomplete({
136
+
137
+ source: '<?php echo $this->Html->url(array('controller' => 'testA', 'action' => 'autocomplete')); ?>',
138
+
139
+ autoFocus: true,
140
+
141
+ delay: 500,
142
+
143
+ minLength: 2
144
+
145
+ });
146
+
147
+ })
148
+
149
+ </script>
150
+
151
+ ```
152
+
153
+
154
+
155
+
156
+
157
+
158
+
159
+ **5.コントローラーの作成 **
160
+
161
+ こちらはこのURLを参考にしました。
162
+
163
+ https://teratail.com/questions/18856
164
+
165
+
166
+
167
+ ```public function autocomplete(){
168
+
169
+ $this->loadModel('testB');
170
+
171
+ $field = 'name';
172
+
173
+ $term = $this->params['url']['term'];
174
+
175
+
176
+
177
+ $condition = array();
178
+
179
+ if(!empty($term)){
180
+
181
+ $condition = array('testB.'.$field.' like' => "%".$term."%");
182
+
183
+ }
184
+
185
+
186
+
187
+ $query = array(
188
+
189
+ 'fields' => array($field),
190
+
191
+ 'conditions' => $condition,
192
+
193
+ 'limit' => 10,
194
+
195
+ 'order' => array('testB.'.$field => 'ASC'),
196
+
197
+ 'group' => $field,
198
+
199
+ );
200
+
201
+
202
+
203
+ $data = array();
204
+
205
+ $items = $this->testB->find('all', $query);
206
+
207
+
208
+
209
+ foreach ($items as $item) {
210
+
211
+ $cnt = array_push($data, $item['testB'][$field]);
212
+
213
+ }
214
+
215
+
216
+
217
+ // JSONデータのみを返す
218
+
219
+ $this->viewClass = 'Json';
220
+
221
+ $this->set(compact('data'));
222
+
223
+ $this->set('_serialize', 'data');
224
+
225
+ }
226
+
227
+ ```
228
+
229
+
230
+
231
+ jsonの値を確認。
232
+
233
+ 下記のURLから
234
+
235
+ http://localhost:8888/cakephp/test/autocomplete?term=
236
+
237
+
238
+
239
+ このデータが返ってきました。
240
+
241
+ [
242
+
243
+ "aaaaaa",
244
+
245
+ "test",
246
+
247
+ ]
248
+
249
+
250
+
251
+ データベースの中身を取得できている。と思います。。おそらく。。。
252
+
253
+
254
+
255
+
256
+
257
+
258
+
259
+ 6.フォームの確認
260
+
261
+ 指定したフォームにaと入れてもリストが表示されません。
262
+
263
+
264
+
265
+
266
+
267
+
268
+
269
+ どこかで値がちゃんと渡されていないのでしょうか。
270
+
271
+
272
+
273
+
274
+
275
+ ご指摘していただけますでしょうか。
276
+
277
+ よろしくお願い致します。

2

TaMaMhyu さん 回答ありがとうございます。 すいません。 具体的な内容を記載していませんでした。 下記サイトを参考して、 http://wataame\.sumomo\.ne\.jp/arch

2015/12/24 12:26

投稿

atsupoooon
atsupoooon

スコア47

test CHANGED
File without changes
test CHANGED
File without changes

1

こちらの同じ質問をしている方がいましたので、 こちらhttps://teratail\.com/questions/18856も参考にしました。 DBの値を参照して http://localhost

2015/12/24 12:22

投稿

atsupoooon
atsupoooon

スコア47

test CHANGED
File without changes
test CHANGED
File without changes