1

我有一系列表格,用于定义附件列表,比现有表格更简单,如下所示:

echo CHtml::activeCheckBox($accessory, 'bidirectional[]', array('checked'=>$accessory->bidirectional));

我以这种方式构建表单,以便我可以通过 jQuery 动态添加新行,而不必摆弄所有元素中的索引位置。

我遇到的问题是为了在活动记录activeCheckBox中设置而产生了两个字段。0当我重建表单时,这会导致问题,因为我实际转换了这个元素的两个条目:

array(9) { ["bidirectional"]=> array(2) { [0]=> string(1) "0" [1]=> string(1) "1" } }

对于后一个条目,它拥有行,因此破坏了我所有的编程。

无论如何,是否可以轻松地为 Yii 中的表单列表做动态索引,还是我必须回到使用静态索引?

4

1 回答 1

0

默认情况下,yii activeCheckBox 生成隐藏输入,所以在提交表单时总是设置值。在您的情况下,隐藏的输入会破坏索引。

为了保持动态索引隐藏的输入应该被删除。这样做的缺点是您不再具有“未经检查”的价值。要禁用取消选中值,只需设置uncheckValuenull

echo CHtml::activeCheckBox($accessory, 'bidirectional[]', array(
    'checked'=>$accessory->bidirectional,
    'uncheckValue' => null
    ));
于 2013-06-18T08:16:44.933 回答