1.やりたいこと
select1で選択された項目を基準にその下に設置しているselect2の項目を変えたい。
2.そのために
select1で選択された項目をjsで取得、jsonとしてcontrollerへ投げ、そのidを基準にselect2用のデータをDBから取得、$responseに格納しechoで戻す。
3.それを(本件の問題点)
jsで取得 or phpで取得し、select2のデータを表示させる。
です。
この2の流れを下記に記載します。
triggerを記述したのは、初期表示の時点で処理を実行したいためです。
ajax
1 var id = $(this).val();//指定のid 2$.ajax({ 3type: 'GET', 4url: '対象actionへ渡す(ajax_id)', 5data: { 6 idd: id, 7}, 8dataType: 'json',
↓ これをcontrollerに渡し、encodeします。
public function ajax_id { $data = array(); $response = array( 'data' => array() ); $id = $this->request->query['id']; //$idを基準にfindでデータ取得(連想配列) $response['data']['hairetuList'] = $hairetuList; } echo json_encode($response); }
ここが3となります。
decodeというのを試しましたが、$arrayをphpでダンプしてもnullがかえってきます。
php
1<?php $array = json_decode($response['data']['hairetuList']); ?>
しかし、上でも書いた通りjsでconsole.logにて表示させた場合、objとして取得できていました。
jsで変数に格納し、それをphpで表示させればやりたいことができる想定です。
しかし、jsで格納のやり方がわからず。
教えていただけますか?
回答3件
あなたの回答
tips
プレビュー