2

我正在尝试将 DatePicker 集成到编辑时生成的 CRUD 表单当我将名称作为数组(如 textField 生成)时,它不会弹出日历如果我使用简单的名称(非数组)它可以工作......如果我完全退出这个名字就行不通了

我正在使用 Yii 1.8

这是我的代码

    $this->widget('zii.widgets.jui.CJuiDatePicker', array(
    // 'name'=>'birthdate',
     'name'=>"MainVendorsInvoices[issued_date]", // the name of the field
     'value'=>$model->issued_date,  // pre-fill the value
     // additional javascript options for the date picker plugin
     'options'=>array(
            'dateFormat'=>'yy-mm-dd',
            'defaultDate'=>$model->issued_date,
            'buttonImage'=>Yii::app()->baseUrl.'/images/icons.date.png',
            'buttomImageOnly'=>true,
            'buttonText'=>'Select',
            'showAnim'=>'fold',
            'showOn'=>'button',
            'showButtonPanel'=>false,
            'yearRange'=>'1900',
     'debug'=>true,

    ),
     'htmlOptions'=>array(
     'style'=>'height:20px;'
     ),
     ));
4

3 回答 3

2

查看页面上是否有同名的文本字段,例如。在高级搜索表单中。

如果您在同一页面上有两个名称相同的字段,则 datepicker 将仅显示其中一个字段。

问候

于 2012-05-15T12:37:39.827 回答
1

让 yii 使用父 CJuiInputWidget 类model的属性自动为您决定名称,因此您可以这样做:

$this->widget('zii.widgets.jui.CJuiDatePicker', array(
 'model'=>$model,
 // 'value'=>$model->issued_date,  // pre-fill the value
 // instead of 'value' use 'attribute'
 'attribute'=>'issued_date', 
 // additional javascript options for the date picker plugin
 'options'=>array(
        'dateFormat'=>'yy-mm-dd',
        'defaultDate'=>$model->issued_date,
        'buttonImage'=>Yii::app()->baseUrl.'/images/icons.date.png',
        'buttomImageOnly'=>true,
        'buttonText'=>'Select',
        'showAnim'=>'fold',
        'showOn'=>'button',
        'showButtonPanel'=>false,
        'yearRange'=>'1900',
 'debug'=>true,

),
 'htmlOptions'=>array(
 'style'=>'height:20px;'
 ),
 ));

编辑:
由于您正在修改生成的表单,您可以将上面的部分放在 gii 生成的 textField 的位置,并让该字段的其他行保持不变,例如:

<?php echo $form->labelEx($model,'issued_date'); ?>
<?php $this->widget('zii.widgets.jui.CJuiDatePicker'), array(// your datepicker options
  );?>
<?php echo $form->error($model,'issued_date'); ?>
于 2012-05-15T10:52:42.887 回答
1
<?php
    $this->widget(
        'zii.widgets.jui.CJuiDatePicker',
        array(
            'name' => 'order_date',
            'value'=>Yii::app()->getRequest()->getParam("order_date"),
            'language' => Yii::app()->language == 'et' ? 'et' : null,
            'options' => array(
                'showAnim' => 'fold', // 'show' (the default), 'slideDown', 'fadeIn', 'fold'
                'showOn' => 'button', // 'focus', 'button', 'both'
                'buttonText' => Yii::t('ui', 'Select form calendar'),
                'buttonImage' => Yii::app()->request->baseUrl . '/images/calendar.png',
                'buttonImageOnly' => true,
            ),
            'htmlOptions' => array(
                'style' => 'width:80px;vertical-align:top'
            ),
        )
    );
?>
于 2013-02-15T14:45:24.070 回答