我希望在我的表单中有各种日期选择器。不幸的是,只有第一个字段充当假设。这是我的代码:
GridView
结果如下:
只有第一个字段显示时钟图标,我可以点击它并选择小时。其余的就像普通的文本字段一样,单击“时钟图标”不会触发任何进一步的操作。我可以放任何我想要的字符串,字段接受它,只有第一个,工作字段拒绝字母等。这里有什么问题?
编辑
我认为问题是Yii为每个字段生成相同的ID。我怎么能改变呢?我尝试了所有这些,但根本不起作用:
<?php
for ($i = 0; $i < 4; $i++) {
?>
<div class="row">
<div class="col-md-1">
<?= ($i+1).'.' ?>
</div>
<div class="col-md-3">
<?= $form->field($pres_rules[$i], 'date')->textInput() ?>
</div>
<div class="col-md-3">
<?=
$form->field($pres_rules[$i], 'time')->widget(TimePicker::className(), [
'pluginOptions' => [
'showMeridian' => false,
'defaultTime' => '12:00'
],
'addonOptions' => [
'asButton' => true,
]
]);
?>
</div>
</div>
<?php
}
?>
答案 0 :(得分:2)
请参阅表格输入http://www.yiiframework.com/doc-2.0/guide-input-tabular-input.html的文档 所以你的代码应该是这样的:
<?php foreach ($pres_rules as $i => $pres_rule): ?>
<?= $form->field($pres_rule, "[$i]date")->widget(TimePicker::className(), [
'pluginOptions' => [
'showMeridian' => false,
'defaultTime' => '12:00'
],
'addonOptions' => [
'asButton' => true,
]
]) ?>
<?php endforeach; ?>