0
   $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属性。如何删除它。

4

2 回答 2

1

如果你使用 Yii 1.1.14,你可以使用新的beginLabel,labelTitleendLabel占位符。在这种情况下, nofor​​将被渲染:

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

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

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

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

顺便说一句,单选按钮也是如此。

于 2013-09-08T09:24:50.103 回答
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
));

干杯。

于 2013-09-08T05:14:35.043 回答