簡體   English   中英

從yii2中的datepicker獲取價值

[英]Get value from datepicker in yii2

我使用來自kartik的datepicker。 我將其與字段范圍一起使用,並且希望從中進行搜索。 但是,我無法獲取值或從中將值存儲到變量中。 怎么解決呢?

這是代碼:

<?php
            // With Range
            $layout3 = <<< HTML
                <span class="input-group-addon" style="background: #e9e9e6;">Tanggal Awal</span>
                {input1}
                <!--<span class="input-group-addon" style="background: #e9e9e6;">aft</span>
                {separator}-->
                <span class="input-group-addon" style="background: #e9e9e6;">Tanggal Akhir</span>
                {input2}
                <span class="input-group-addon kv-date-remove" style="background: #e9e9e6;">
                <i class="glyphicon glyphicon-remove"></i>
                </span>
HTML;

            echo DatePicker::widget([
                'type' => DatePicker::TYPE_RANGE,
                'name' => 'dp_addon_3a',
                'value' => date('Y-m-d'),
                'name2' => 'dp_addon_3b',
                'value2' => date('Y-m-d'),
                // 'separator' => '<i class="glyphicon glyphicon-resize-horizontal"></i>',
                'layout' => $layout3,
                'pluginOptions' => [
                    'autoclose' => true,
                    'format' => 'yyyy-mm-dd'
                ]
            ]);
            $value = 'value';
            $value2 = 'value2';
            ?>

你可以做

<?php 
    $form = ActiveForm::begin([
        'action' => ['your_action'],
        'method' => 'method_you_want',
    ]); 
?>
<?=
    $form->field($model, 'dateattribute')->widget(DatePicker::className(),
    [
        // config of your datepicker
    ]); 
?>

日期選擇器的值將存儲在模型中。 在控制器中,您必須實例化模型的新對象:

$model = new YourModel();
return $this->render('your_action', ['model' => $model]);

希望我很清楚不要猶豫,問是否:)

在您看來,嘗試一下

use kartik\date\DatePicker;
    <div class="col-sm-6">
                <?php 
                    echo '<label class="control-label">Allocation Date</label>';
                    echo DatePicker::widget([
                       'name' => 'Allocation[allocation_datetime]',
                       'value' => date('d-m-Y'),
                       'type' => 1,
                       'pluginOptions' => [
                           'format' => 'dd-mm-yyyy',
                           'todayHighlight' => true,
                           'class' => 'form-control',
                       ],
                   ]);
                ?>
        </div>  

在您的控制器中

$model->allocation_datetime = date('Y-m-d H:i:s', strtotime($data['Allocation']['allocation_datetime']));

這可能對您有幫助。 以下是布局代碼。

 <?php

    use yii\bootstrap\ActiveForm;
    use yii\helpers\ArrayHelper;
    use yii\helpers\Url;
    use yii\helpers\Html;
    use kartik\date\DatePicker;

    $model = new MyAllocation();
    $form = ActiveForm::begin([
                'id' => 'allocation',
                'method' => 'post',
                'options' => ['class' => 'form-horizontal',
                    'enctype' => 'multipart/form-data',
                ],
            ]);  
    ?>

    <div class="row">
        <div class="col-sm-12">

        <div class="col-sm-6">
                <?php 
                    echo '<label class="control-label">Allocation Date</label>';
                    echo DatePicker::widget([
                       'name' => 'WorkAllocation[allocation_datetime]',
                       'value' => date('d-m-Y'),
                       'type' => 1,
                       'pluginOptions' => [
                           'format' => 'dd-mm-yyyy',
                           'todayHighlight' => true,
                           'class' => 'form-control',
                       ],
                   ]);
                ?>
        </div>  
        </div>
    </div>

    <div class="form-group">
    <?= Html::submitButton('Allocate', ['class' => 'btn btn-success', 'name' => 'submit']) ?>
    </div>

以下是控制器代碼:

<?php

use app\modules\work\models\WorkAllocation;
 public function actionYouractionname() 
        {
            if (Yii::$app->getRequest()->isAjax) 
             {
                $data = Yii::$app->request->post();

                // var_dump($data);

                $model->allocation_datetime = date('Y-m-d H:i:s', strtotime($data['WorkAllocation']['allocation_datetime']));
                $model->save();
            }
        }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM