我有这个代码来生成一个activeCheckBoxList:
<?php
echo CHtml::activeCheckBoxList($model,
'selected',
CHtml::listData(AuthItem::model()->findAllByAttributes(array('type'=>2)),
'name',
'name'),
array('unCheckValue'=>'Off',
'labelOptions'=>array('style'=>'display:inline'))
);
?>
但是,隐藏字段不会呈现,并且在提交表单时,仅在 $_POST['User']['selected'] 中发送选中字段的值。
我以自己的方式解决了它,可能会切换到下拉框,将其更改为只有 1 个值,但这仍然让我很感兴趣。有任何想法吗?
第一次尝试:好的,所以我尝试将其更改为
'uncheckValue'=>'Off'
确实,它被命名为 unCheckValue,它是作为复选框的属性生成的,现在它不是,但每个复选框仍然没有隐藏字段。
但是生成了一个隐藏字段,但只有一个用于整个 CheckBoxList ......我希望它为每个复选框生成一个隐藏字段,以便在提交并使用 ie 有一个未选中的复选框时。ID = 'Option_1',在 $_POST 我会发现 'Option_1'=>'Off' ?
这样我就可以做一个 foreach 并做:(伪代码)
foreach(Checkbox)
if(Value = 'Off') deactivate();
else activate()