【问题标题】:uncheckValue not working with (active)checkBoxListuncheckValue 不适用于(活动)checkBoxList
【发布时间】:2014-03-15 00:13:26
【问题描述】:

我有这个代码来生成一个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['U​​ser']['selected'] 中发送选中字段的值。

我以自己的方式解决了它,可能会切换到下拉框,将其更改为只有 1 个值,但这仍然让我很感兴趣。有什么想法吗?

第一次尝试: 好的,所以我尝试将其更改为

'uncheckValue'=>'Off'

确实,它被命名为 unCheckValue,它是作为复选框的属性生成的,现在它不是,但每个复选框仍然没有隐藏字段。

但是生成了一个隐藏字段,但整个 CheckBoxList 只有一个... 我希望它为每个复选框生成一个隐藏字段,以便在提交并使用 ie 有一个未选中的复选框时。 ID = 'Option_1',在 $_POST 我会发现 'Option_1'=>'Off' ?

这样我就可以做一个 foreach 并做:(伪代码)

foreach(Checkbox)
    if(Value = 'Off') deactivate();
    else activate()

【问题讨论】:

    标签: php yii yii-chtml


    【解决方案1】:

    unCheckValue 更改为uncheckValue

    由于拼写错误unCheckValue 成为复选框的属性。

    <?php 
        echo CHtml::activeCheckBoxList($model,
                                 'selected', 
                                 CHtml::listData(AuthItem::model()->findAllByAttributes(array('type'=>2)),
                                                 'name',
                                                 'name'),
                                 array('uncheckValue'=>'Off', 
                                       'labelOptions'=>array('style'=>'display:inline'))
                                 );
    ?>
    

    【讨论】:

    • hm,我有 95% 的把握我也尝试过 uncheckValue,我会在大约 2 小时后再次尝试并报告……如果是这样,我会非常努力地面对手掌……跨度>
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多