2017-01-03 15 views
0

私はフォームフィールドを有するアレイ入力フォームに取り組んでいない「DOB []」のアレイ入力Kartikの日付ピッカーの拡張子が

<?php $form = ActiveForm::begin(); 
for($i=0;$i<= 3;$i++): 
echo $form->field($model, 'dob[]')->widget(DatePicker::classname(), [ 
    'options' => ['placeholder' => 'Date Of Birth'], 
    'type' => DatePicker::TYPE_INPUT, 
    'pluginOptions' => [ 
     'format' => 'mm/dd/yyyy', 
     'autoclose' => true, 
    ] 
]); 
endfor; ?> 

<div class="form-group"> 
<?= Html::button('Submit', ['class' => 'btn btn-success']) ?> 
</div> 
<?php ActiveForm::end(); ?> 

日付ピッカーは、最初「DOB」フィールドに取り組んではなく、フィールドの残りの部分を有するような日付ピッカーのボタン形式のみですが、カレンダーは機能しません。

答えて

1

これは、javascriptが最初の入力フィールドの後に正しい入力フィールドを特定できないためです。あなたのソースコードを見てください。すべてのウィジェットは、同じidおよび/またはという名前がと一致している必要があります。生成されたウィジェットごとに固有のIDを設定する必要があります。ところで、それに応じてフォームデータに名前を付けるのは常に良いアプローチです。

That is documented at the demo page.

は動作するはずです:

<?php 
$form = ActiveForm::begin(); 
    for ($i=0; $i < 3; $i++) { 
     echo $form->field($model, 'date_end')->widget(DatePicker::classname(), [ 
      'options' => [ 
       'placeholder' => 'Date Of Birth', 
       'name' => 'DOB' .$i, 
       'id' => 'DOB-ID' . $i, 
      ], 
      'type' => DatePicker::TYPE_INPUT, 
      'pluginOptions' => [ 
       'format' => 'mm/dd/yyyy', 
       'autoclose' => true, 
      ], 
     ]); 
    } 
?> 

<div class="form-group"> 
<?= Html::button('Submit', ['class' => 'btn btn-success']) ?> 
</div> 
<?php ActiveForm::end(); ?>