2017-01-03 82 views
0

我有一个表格字段“DOB []”与阵列输入像卡尔蒂克日期选择器extention

<?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”字段,但具有该字段的其余部分只有datepicker的按钮格式,但日历不工作。

回答

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(); ?> 
相关问题