スポンサードリンク

CakePHP
CakePHP

CakePHPの内容を書いてもう30回目なんですね~

こんなに続くとは・・・タイトル変更も考えないとな

今回は、セレクトボックスで日付を使うときに

空白(NULL値)が必要になったので

その設定方法です。

スポンサードリンク

セレクトボックスで日付の設定の仕方

CakePHPでセレクトボックスの作成は

初めての[CakePHP2.x]での開発、そして挫折するまで日記~その16 日付のセレクトボックス

上記でやったのですが、

<?php
      echo $this->Form->input('field', array(
                                        'type' => 'date',
                                        'dateFormat' => 'YMD',
                                        'monthNames' => false
                                       ));
?>

こんな感じで作ってました。

データ入力するときに日付を入れない時があるので

その場合はNULLが入力できるようにしたい。

でも、このままだとフォーマットが決まっているのでどうしようと思ってました。

Google先生に聞いたところ、解決策がこちらに載ってました。

Cakephpでdateタイプなselectに空の値を設定するメモ

NULLを設定できるんですね。

上記のサイトのようにselectedにNULLを付けると

入力データを反映できないので下記のようにしました。

<?php 
     echo $this->Form->input('delivery_date', array(
                                               'label' => false,
                                               'type' => 'date',
                                               'dateFormat' => 'YMD',
                                               'monthNames' => false,
                                               'empty'=>array(0 => '--')
                                             ));
?>

これで、一番上の値が空白になってNULLを入力することができます。

最初はjQueryでチェックボタンを付けて

チェックしたらNULL

チェックを外したらセレクトボックスを使えるという風にしてたんですが

サーバーにおいたら動かなったので

簡単な今回の方法にしました。

スポンサードリンク