2016-05-12 4 views
2

私はkartikのdatepickerを使用しています。私はフィールドの範囲とそれを使用し、私はそれから検索機能を作りたい。しかし、私は値を取得することはできませんまたはそこから変数に値を格納します。どのようにそれを解決するには?yii2の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'; 
      ?> 

答えて

0

あなたは日付ピッカーの値は、あなたのモデルにストアされます

<?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]); 

希望はあなたのビューで

+0

私は自分dateattributeを作ることはできますか?私は日付の属性が1つしかないからです。私は2つの値を得たいのですが。 – RiefSapthana

0

を:)ない場合は、この

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'])); 
+0

申し訳ありませんが、変数データが​​未定義です。 – RiefSapthana

+0

public function actionYouractionname(){ if(Yii :: $ app-> getRequest() - > isAjax) { $ data = Yii :: $ app- > request-> post();$ model-> allocation_datetime = date( 'Y-m-d H:i:s'、strtotime($ data ['Allocation'] ['allocation_datetime'])); $ model-> save(); } –

0

これはあなたにとって役に立ちます。 レイアウトコードは次のとおりです。

<?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(); 
      } 
     } 
+0

モデルを持たずに値を取得するにはどうすればよいですか? – RiefSapthana

+0

var_dump($ _ POST);あなたは投稿の日付を含むすべてのパラメータを取得します。 あなたの必要に応じてそれを使用してください。 –

+0

申し訳ありませんが、私はトップのコントローラを試しましたが、エラーが発生します。それは '配分'を持っていないと言います。アクションのボタンはどうですか? – RiefSapthana

関連する問題