'持续时间'是表格中的一列,是“必需的”
形式:
<div class="row">
<?php echo $form->labelEx($model,'duration'); ?>
<?php
echo "<select>";
echo "<option value=\"1\">1</option>";
echo "<option value=\"1.5\">1.5</option>";
echo "<option value=\"2\">2</option>";
echo "<option value=\"2.5\">2.5</option>";
echo "<option value=\"3\">3</option>";
echo "</select>";
?>
<?php echo $form->error($model,'duration'); ?>
</div>
当我选择一个选项时,会出现错误“持续时间不能为空”。如何让它读取值?
答案 0 :(得分:2)
确保选择的名称为Model[duration]
你需要:
echo '<select name="ModelName[duration]">';
另外请不要在Yii视图中混用PHP vanilla代码,并使用Yii提供的方法。
我会做这样的事情:
echo CHtml::dropDownList('duration', $model, array('0' => 'Private', '1' => 'Public'));
甚至更好:
echo $form->dropDownList($model, 'placement', $model::$def_duration, array('prompt' => 'Select'));
其中def_duration
将是模型中定义的key =&gt; value数组。