ysku's blog

ウェブ・無線通信・組み込みとか

セレクトボックスで選択されている値の取得【CakePHP 2.5 select box】

f:id:yusuke1581:20141112005253j:plain
セレクトボックスで選択している値の取得についてです
例のごとく、CakePHP2.5で実装しています
送信ボタンでPOSTするというのは比較的簡単に実装出来るのですが、「セレクトボックスにて現在選択されている値を取得する」というので詰まったのでメモしました
きれいではないのですが、一応目的としていた動作はしました

1)セレクトボックスの実装
まずはビューファイルにて以下を記載
セレクトボックスの値が変更されたときに値を送信するために「onchange」を記載します

<?php
        echo $this->Form->create(false, array(
                'type' => 'post',
        ));
?>
<fieldset>
<?php
        echo $this->Form->input('test', array(
                'type' => 'select',
                'options' => $datas,
                'onchange' => 'submit(this.form)'
        ));
?>
</fieldset>

2)コントローラで変更された値を受け取る
コントローラでは以下のように記載しました

function test() {
        if ($this->request->is('post')) {
                $data = $this->request->data;
        }
}

これでセレクトボックスで変更された値が$dataの中に格納されます

取得した値をビューに受け渡せば完了です

簡単ですが、以上がCakePHPにおいてセレクトボックスで選択されている値の取得方法になります