回答編集履歴
2
両方やってるから
answer
CHANGED
@@ -14,8 +14,29 @@
|
|
14
14
|
'onchange' => 'selectChange()',
|
15
15
|
)
|
16
16
|
);
|
17
|
+
```
|
17
18
|
|
19
|
+
また、jQuery内で囲まれたイベントトリガーはjQueryのイベントを適用するので、その場合はjsのイベントトリガーは対応できません。今回はjsのonChangeイベントが使われているので、その場合はjQueryの指定は不要です。
|
18
20
|
|
21
|
+
```js
|
22
|
+
//$(document).ready(function() { /*コメントアウトしてjQueryの外側へ*/
|
23
|
+
function selectChange() {
|
24
|
+
var selectedValue = $("#searchId").val();
|
25
|
+
console.log(selectedValue)
|
26
|
+
}
|
27
|
+
//})
|
28
|
+
```
|
19
29
|
|
30
|
+
逆に、index.ctpからonchangeプロパティとメソッドを消去して、jsに以下の
|
20
31
|
|
32
|
+
webroot/js/xxxx.js
|
33
|
+
|
34
|
+
```js
|
35
|
+
$('#SearchId').on("change",function(){
|
36
|
+
var selectedValue = $(this).val();
|
37
|
+
console.log(selectedValue)
|
38
|
+
})
|
21
|
-
```
|
39
|
+
```
|
40
|
+
と記述すれば取得できます。
|
41
|
+
|
42
|
+
つまり、イベントトリガーはjQueryかJavascriptのいずれかにしか対応してません。
|
1
コンマ抜けてた
answer
CHANGED
@@ -2,12 +2,12 @@
|
|
2
2
|
第三引数に追記する必要があります。
|
3
3
|
|
4
4
|
```ctp
|
5
|
-
//
|
5
|
+
//cakePHP4ならphpです
|
6
6
|
$this->Form->select(
|
7
7
|
'Search.id',
|
8
8
|
$selectlist,
|
9
9
|
array(
|
10
|
-
'id' => 'searchId'
|
10
|
+
'id' => 'searchId',
|
11
11
|
'empty' => '',
|
12
12
|
'value' => $this->request->query('id'),
|
13
13
|
'empty' => false,
|