来自Yii期刊的CJuiDatePicker小部件

bq9c1y66  于 2022-11-09  发布在  其他
关注(0)|答案(3)|浏览(118)

我尝试将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;'
     ),
     ));
h22fl7wq

h22fl7wq1#

查看页面上是否有同名的文本字段,例如在高级搜索表单中。
如果在同一页上有两个同名的字段,则日期选择器将只为其中一个显示。
此致

ckocjqey

ckocjqey2#

让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'); ?>
zwghvu4y

zwghvu4y3#

<?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'
            ),
        )
    );
?>

相关问题