如何从yii中的checkBoxList中删除属性的Label

时间:2013-09-07 12:55:20

标签: yii

   $records_skincolor1 = array('Black'=> 'Black','Brown'=> 'Brown','Dark Brown'=> 'Dark Brown','Blue'=> 'Blue','Grey Blue'=> 'Grey Blue','Hazel'=> 'Hazel','True Green'=> 'True Green'); 
    echo CHtml::checkBoxList('Superadvancesearch[talent_skincolor][]','',$records_skincolor1, array(
        'template'=><li>{input}{label}</li>,
        'separator'=>'',

    ));

我需要删除标签for属性。如何删除它。

2 个答案:

答案 0 :(得分:1)

如果您使用Yii 1.1.14,则可以使用新的beginLabellabelTitleendLabel占位符。在这种情况下,不会呈现for

'template' => '{input}{beginLabel}{labelTitle}{endLabel}'

但说实话,我几乎看不出你想删除这个属性的原因。因为那样您就不能再单击标签来选中/取消选中复选框。也许你宁愿寻找周围的标签:

'template' => '{beginLabel}{input}{labelTitle}{endLabel}'

这就是Bootstrap期望的复选框,这里仍然可以点击标签来勾选/取消选中复选框。

对于无线电按钮也是如此,BTW。

答案 1 :(得分:0)

你可以这样做:

你给你的CHtml :: checkBoxList方法一个数组。

你只需在这个方法之前定义数组,然后按照你的条件制作它。

if ($value == $someValue)
$yourArray=array(
    'template'=><li>{input}{label}</li>,
    'separator'=>'',);
else
$yourArray=array(
    'template'=><li>{input}</li>,
    'separator'=>'',);

并将其提供给您的方法:

echo CHtml::checkBoxList('Superadvancesearch[talent_skincolor][]','',$records_skincolor1, $yourArray
));

欢呼声。