BcFormHelper::dateTimePicker PHP Method

dateTimePicker() public method

日付カレンダーと時間フィールド
public dateTimePicker ( string $fieldName, array $attributes = [] ) : string
$fieldName string
$attributes array
return string
    public function dateTimePicker($fieldName, $attributes = array())
    {
        $this->Html->script('admin/vendors/jquery.timepicker', array('inline' => false));
        $this->Html->css('admin/jquery.timepicker', 'stylesheet', array('inline' => false));
        $timeAttributes = array_merge($attributes, array('size' => 8, 'maxlength' => 8));
        if (!isset($attributes['value'])) {
            $value = $this->value($fieldName);
        } else {
            $value = $attributes['value'];
            unset($attributes['value']);
        }
        if ($value && $value != '0000-00-00 00:00:00') {
            list($dateValue, $timeValue) = explode(' ', $value);
            $attributes['value'] = $dateValue;
            $timeAttributes['value'] = $timeValue;
        }
        $dateTag = $this->datepicker($fieldName . '_date', $attributes);
        $timeTag = $this->text($fieldName . '_time', $timeAttributes);
        $hiddenTag = $this->hidden($fieldName, array('value' => $value));
        $domId = $this->domId();
        $_script = <<<DOC_END
<script type="text/javascript">
\$(function(){
   \$("#{$domId}Time").timepicker({ 'timeFormat': 'H:i' });
   \$("#{$domId}Date").change({$domId}ChangeResultHandler);
   \$("#{$domId}Time").change({$domId}ChangeResultHandler);
   function {$domId}ChangeResultHandler(){
\t\t//if(this.id.replace('{$domId}','') == 'Date') {
\t\t\tif(\$("#{$domId}Date").val() && !\$("#{$domId}Time").val()) {
\t\t\t\t\$("#{$domId}Time").val('00:00');
\t\t\t}
\t\t//}
\t\tvar value = \$("#{$domId}Date").val().replace(/\\//g, '-');
\t\tif(\$("#{$domId}Time").val()) {
\t\t\tvalue += ' '+\$("#{$domId}Time").val();
\t\t}
        \$("#{$domId}").val(value);
   }
});
</script>
DOC_END;
        $script = $this->_View->append('script', $_script);
        return $dateTag . $timeTag . $hiddenTag;
    }