【问题标题】:Adding a css class to specific items of Yii active checkBoxList为 Yii active checkBoxList 的特定项目添加 css 类
【发布时间】:2013-02-02 11:00:27
【问题描述】:

使用 Yii 和活动复选框列表。 我知道参数。我需要为项目添加一个标志 css 类。 这是我的代码:

$form->checkBoxList($model, 'items', $selected, array(
    'class'=>'default_class'
));

这段代码只是为每个项目添加了一个 default_class。但我需要针对特定​​项目使用不同的类。

【问题讨论】:

  • 可以使用 CSS 伪类:.mycheckboxes:checked {...}
  • 你是对的。不过我问错了!
  • 我也面临这样的问题。你能告诉在这种情况下 $selected 是什么......?
  • @NaincyGupta $selected 是您要选择的项目。检查 Yii 文档。

标签: php yii checkboxlist


【解决方案1】:

在 Yii 论坛上问了同样的问题。 有人帮助我this solution

foreach ($models as $model) {
  echo '<input type="checkbox" name="' . CHtml::activeName($model, 'attribute') . '[]" value="' . $model->valueField . '" ' . condition ? 'class= "your-class" : '' . '/>';
}

目前这是一个很好的线索。

【讨论】:

    【解决方案2】:

    @XIII,我已经更新了我的答案

    $form->checkBoxList($model, 'items', $selected, array(
      'options' => array(
           'value1'=>array('disabled'=>true, 'label'=>'value 1'),
           'value2'=>array('label'=>'value 2', 'class' => 'css-class-defined'),
       ),
    ));
    

    请阅读有关您使用的函数的文档,或查看源代码 system.web.helpers.CHtml 第 764 行

    【讨论】:

    • 我不需要标签选项!这将为所有标签添加一个类,而不是条件标签!
    • 为什么这是一个公认的答案,来源中没有任何内容表明这是可行的。我只是花了一个小时来尝试实现它。
    • @Arth,你用的是什么版本的 Yii?
    • 我使用的是 1.1.15,但我提到了 online code.. 您可以从第 1050 行的 foreach 中看到,选项数组根本没有按照您建议的方式处理。它被解释为 'value'=>'labelTitle' 并且任何使用 'value'=>array(...) 的尝试都会导致每个复选框都被标记为 'Array',因为数组只是直接打印为字符串。
    猜你喜欢
    • 2015-04-12
    • 1970-01-01
    • 1970-01-01
    • 2019-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-28
    • 2012-04-21
    相关资源
    最近更新 更多